ClickOnce] How to sign application with the key what I manually create

ClickOnce 를 사용하여 배포할 때, Visual Studio 2008 은 임시적으로 Pfx Key 를 생성하여 ClickOnce manifests 에 Signing 하게 됩니다. 이때 사용하는 Certificate 을 생성하는 방법은 두 가지가 있습니다.

  1. 사용자가 직접 생성하는 방법
    1) Visual Studio 2008 에서 자동으로 생성 (Create Test Certificate)
    2) Makecert.exe Tool 을 사용하여 생성
  2. 3rd Company 에서 CAs(Certificate Authorities) 를 구입하는 방법 (Verisign, Inc)

첫 번째 방법인 사용자가 직접 생성하는 방법은 TAD(Trusted Application Deployment) 를 구성할 수 는 없습니다만, Test 목적으로는 사용할 수 있습니다. 즉, TAD 를 사용할 수 없다는 것은 아래와 같이 설치할 때 User Prompt가 나타날 수 있다는 것입니다. 

이는 전적으로 사용자에게 해당 Publisher 가 Trusted 하지 않지만, 실행하겠는가 라는 Message 를 나타내며, TAD 구성을 했을 경우 해당 User Prompt 가 나타나지 않습니다. (TAD 와 관련된 User Prompt 및 Certification 과 관련된 내용은 다음 Link 를 참조하여 주시기 바랍니다.)

Visual Studio 로 생성하는 Certification 의 유효 기간은 1년으로 정해져 있습니다. 해당 Certification 이 만료가 되었을 경우에는 새로 생성해야 합니다만, 이런 경우 기존의 배포된 Application 의 Manifests 에 Signing 된 내용이 다르므로 새로 설치해야 하거나, Update 시 문제가 발생할 수 있습니다.

이에 대해서는 renewcert 를 사용하여 유효기간을 연장할 수 있습니다. http://kikiwaka.egloos.com/1603054

하지만, 처음부터 Certification 의 유효기간을 연장할 수 있는 방법이 존재합니다.
Makecert.exe 와 pvk2pfx.exe 를 사용하면 certification 의 유효 기간을 사용자 임의로 정의할 수 있습니다.
makecert –sv HelloWorld.pvk –n “[CN=Hello World]” –e [유효기간] HelloWorld.cer



위와 같은 명령어를 사용하여 Certifcation 과 Private Key 를 만들 경우, Private Key 의 비밀 번호를 물어 봅니다.



생성된 Private Key 와 Certification 을 pvk2pfx 를 사용하여 ClickOnce 에서 사용하는 pfx file 을 생성합니다. 
pvk2pfx –pvk [Private Key] –spc [Certification] –pfx [PFX file] –pi [Private Key Password]



위와 같이 makecert 와 pvk2pfx 를 사용하여 X.509 규약에 맞는 pfx 를 만들어 Visual Studio 에서 Import 하여 사용하면 됩니다.

by kikiwaka | 2009/04/06 16:56 | MS] Setup & Deploy | 트랙백 | 덧글(0)
트랙백 주소 : http://kikiwaka.egloos.com/tb/2316469
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >