Etc.

인증서를 PFX파일로 내보내기

기공이 2018. 3. 21. 13:36

이전 글(2018/03/20 - [Etc.] - 응용 프로그램 패키지 서명 인증서 만들기)에서 


개인적으로 인증서를 발급하는 법에 대해 글을 썼습니다.


MakeCert대신 New-SelfSignedCertificate 라는 것을 사용하는데요, 이번에는 이 만들어진 인증서를 pfx파일로 내보내는 법입니다.


원 내용은 MS Docs(패키지 서명용 인증서 만들기) 에 있습니다.



먼저 인증서에 사용할 암호를 만들어 주어야 합니다.


$pwd = ConvertTo-SecureString -String <Your Password> -Force -AsPlainText 


여기서 $pwd는 PowerShell을 종료시에 없어지는 임시 변수 인데요, PowerShell이 켜져있는 동안 다른 특별한 행동을


하지 않는 이상 유지되는 변수입니다.


<Your Password> 대신 사용할 비밀번호를 입력해주시면 되는데요,


(실생활에서 비밀번호를 1234567890 으로 사용하시면 안됩니다...)


위와 같이 입력할 때에는 비밀번호가 보이니 조심해주세요.


그리고 만든 $pwd 변수는 따로 확인이 불가능 합니다.



이제 인증서를 내보낼 차례입니다.


Export-PfxCertificate -cert "Cert:\CurrentUser\My\<Certificate Thumbprint>" 

-FilePath <FilePath>.pfx -Password $pwd


먼저 -cert란의 경우 인증서가 보관된 경로입니다.


우리의 경우 이전 글에서 Cert:\CurrentUser\My 폴더에 인증서를 만들었기 때문에 경로는 예시와 같습니다.


그리고 Certificate Thumbprint는 인증서가 있는 폴더에서 dir 을 하셨을 때 나온 Thumbprint를 쳐주시면 됩니다.


(왼쪽의 Thumbprint 란에 나온 임의의 문자열)



-FilePath의 경우 추출해 낸 pfx파일이 저장될 경로입니다.



-password 가 인증서 파일 pfx의 비밀번호가 되는데, 


인자로 전해주는 $pwd가 SecureString 형으로 일반적인 String형과는 다릅니다.


그래서 위에서 만들어준 $pwd 대신 1234567890 을 써줄 경우 에러가 발생합니다.



예제로 pfx파일을 내보내보겠습니다.




이제 내보내진 pfx파일을 통해 ClickOnce 매니패스트 서명을 할 수 있게 되었습니다.


그 외 여러 용도에 따라 사용할 수 있게 되었습니다!