none
PowerShell에서 Code signing Certifiate RRS feed

답변

  • 안녕하십니까? 김도남 님 

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “PowerShell에서 Code signing Certifiate”에 대한 답변을 드리겠습니다.

     

    Step 1 : 생성

     

    Makecert command를 이용해서 Cdoe Signing Certificate를 생성할 수 있습니다. Makecert 프로그램은 Windows SDK를 설치하면 Bin 폴더에 생성이 됩니다.

     

    아래와 같이 입력 하면 현재 사용자 -> Personal 경로에 자기 참조 인증서가 생성이 됩니다.

     

    .\makecert -pe -r -n "CN=CodeSigningCert" -eku 1.3.6.1.5.5.7.3.3 -ss "my"

     

     

    Step 2 : 확인

     

    MMC SnapIn 툴에서 생성한 인증서를 확인할 수 있습니다.

     

    1.     시작 -> 실행 -> mcc를 입력 후 실행을 합니다.

     

    2.     Ctrl + M 을 입력해서 Certificate SnapIn을 추가를 합니다.

     

    3.     좌측 패널에서 Certificate – Current User -> Personal -> Certificates 노드를 선택 후  우측 패널에서 생성한 인증서를 참조를 합니다.

     

    위의 인증서를 우 클릭 후 Properties를 실행을 하면 아래의 그림과 같이 인증서가 정상적으로 설치가 되지 않았습니다.

     

     

     

    위의 이슈를 해결 하기 위해서 해당 인증서를 Trusted Root Certification Authorities 폴더로 이동을 합니다.

     

    1.     우측 패널에서 해당 인증서를 우 클릭 후 All Tasks -> Export를 실행을 합니다.

     

    2.     Certificate Export Wizard에서 Yes export the private key라디오 버튼을 선택 후 Next버튼을 클릭을 합니다.

     

    3.     Personal Information Exchange –PKS #12(.PFX)라디오 버튼을 선택 후 Next버튼을 클릭을 합니다.

     

     

    4.     암호를 입력 후 Next버튼을 클릭을 합니다.

     

    5.     File Name TextBox에 풀 경로를 입력 후 Next버튼을 클릭을 한 후 Finish버튼을 클릭을 합니다.

     

    6.     Certificate SnapIn에 좌측 패널에 Trusted Root Certification Authorities를 우 클릭 후 All Tasks -> Improt를 실행을 합니다.

     

    7.     Certificate Import Wizard창에서 Next버튼을 클릭을 합니다. File Name에 위에서 Export Certificate를 선택 후 Next버튼을 클릭을 합니다.

     

    8.     Password TextBox에 암호를 입력 후 Next버튼을 클릭을 합니다.

     

    9.     Place all certificates in the following store라디오 버튼을 선태 후 Certificate store Trusted Root Certification Authorities가 선택이 되었는지 확인 후 Next버튼을 클릭을 합니다.

     

    10.   설정 정보를 확인 후 Finish버튼을 클릭을 합니다.

     

     

     

    Step 3 : Script Sign

     

    Set-AuthenticodeSignature "C:\CodeSiningScript.ps1" $certificate

     

    "Hi ForumQA"

    # SIG # Begin signature block

    # MIID5QYJKoZIhvcNAQcCoIID1jCCA9ICAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB

    # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR

    # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU0PaskVGD4BS0WenPpudsRbRY

    # rtCgggIHMIICAzCCAXCgAwIBAgIQw18xitqzAJhO68l28MNmijAJBgUrDgMCHQUA

    # MBQxEjAQBgNVBAMTCXRlc3RjZXJ0MTAeFw0xMTEyMjYwMTIwNTRaFw0zOTEyMzEy

    # MzU5NTlaMBQxEjAQBgNVBAMTCXRlc3RjZXJ0MTCBnzANBgkqhkiG9w0BAQEFAAOB

    # jQAwgYkCgYEA1uju/NcfRWyza7FwzxdrcmXR4I69Ry/Zl3RYitXnJHYbIEii1H5F

    # aqvbLsOaSxaPd+jQ4ldhub/QQMUjeRUIGj7VtlERLaJD6zeVUJPodYAkPxy8PKq4

    # jms8O9OgtDCOEZCO+wq/U/pBBYTbzBpLtbDZNtUw4qSoTHmg6+JuPvECAwEAAaNe

    # MFwwEwYDVR0lBAwwCgYIKwYBBQUHAwMwRQYDVR0BBD4wPIAQCUw9KfTN6tdASxTF

    # 8MjfuaEWMBQxEjAQBgNVBAMTCXRlc3RjZXJ0MYIQw18xitqzAJhO68l28MNmijAJ

    # BgUrDgMCHQUAA4GBAGhrnpo1hgwcZdJFsXTGnG1j0FPm/jtDFzc0xjRJYoH3oTHa

    # sp6RDsq6blV39L69zGDSBLnYX7YpfoguBAQ6qn7as9VqHc9yKvWGCABl0GdjvEln

    # FM9O5YiabQyKOrI04bVskJ4RxK+1NxbVTVikQC8cfhPE2tAoUMNemPoj7M1/MYIB

    # SDCCAUQCAQEwKDAUMRIwEAYDVQQDEwl0ZXN0Y2VydDECEMNfMYraswCYTuvJdvDD

    # ZoowCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZI

    # hvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcC

    # ARUwIwYJKoZIhvcNAQkEMRYEFIdkU58Hcexd8PFqLA4jMF9s7uAxMA0GCSqGSIb3

    # DQEBAQUABIGAVbDXHMAAIEglaPS4yTmXb4o5bZhCPO4L6EZ6NnyVIH7V+rM/avti

    # dZn2QTLM++PL4gfEcyAPmr/wC9rjPaZYjDJffMCckz+BaUzA5/i9huDk/x56c3cv

    # crcr5KhFDxTI3vMbNtRvZqIWAfXDmOS+TgrdjybYweeu0vtPZD9bFuM=

    # SIG # End signature block

     

    Note. PowerShell-ISE에서 생성한 Script는 파일 저장 인코딩을 UTF8으로 변경하시기 바랍니다.  Set-AuthenicodeSignature Cmdlet UTF8에서 작동합니다.

     

    참고 자료

     

    인증서 작성 도구(Makecert.exe)

    http://msdn.microsoft.com/ko-kr/library/bfsktky3(v=vs.80).aspx

     

    Set-AuthenticodeSignature

    http://technet.microsoft.com/ko-kr/library/dd347598.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.



    • 편집됨 SangHyuk KimModerator 2011년 12월 26일 월요일 오전 6:33
    • 답변으로 표시됨 김도남 2011년 12월 28일 수요일 오전 7:03
    2011년 12월 26일 월요일 오전 6:32
    중재자