이 웹페이지는 SSL.com 사용에 대한 지침을 제공합니다. OV or EV Microsoft의 SignTool 및 SSL.com의 코드 서명 인증서 SSL Manager.
이 지침에서는 코드 서명 인증서가 설치되었거나 하드웨어 토큰에 인증서가 있다고 가정합니다. eSigner 플랫폼을 사용한 클라우드 기반 코드 서명에 대해서는 다음을 참조하십시오. 개요 페이지 이 등록 안내.
하드웨어 기반 OV 및 EV 코드 서명 인증서의 경우 개인 키는 YubiKey FIPS USB 토큰에만 존재 그것은 당신에게 보내졌고 그 토큰은 첨부해야합니다 응용 프로그램에 서명하는 데 사용되는 컴퓨터에 YubiKey FIPS 토큰이 있는 Windows 사용자도 다운로드하여 설치해야 합니다. YubiKey 스마트 카드 미니 드라이버 토큰을 사용하기 전에
Yubikey로 실행 파일 서명
설치 Windows SDK 및 SignTool
SignTool은 함께 제공됩니다 윈도우 10 SDK. 설치 후 SignTool은 다음 위치에 있습니다.
C : \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
스타트 파워 쉘
시작 파워 쉘 명령 창에서 "Powershell"을 검색하여 스타트 메뉴에서 바탕 화면 응용 프로그램을 클릭하십시오.
Powershell은 Windows의 핵심 서비스에 대한 명령 줄 인터페이스입니다. 이를 사용하여 SignTool을 실행하고 코드에 서명 할 수 있습니다.
럭셔리 암호 서명하려면 USB 토큰을 컴퓨터에 연결합니다(아직 연결하지 않은 경우). eSigner를 사용하는 경우 설치 eSigner 클라우드 키 어댑터
개인 키는 귀하에게 전송 된 USB 토큰에만 존재하며 토큰을 첨부해야합니다 응용 프로그램에 서명하는 데 사용되는 컴퓨터에 OV 코드 서명 인증서를 사용하는 경우이 단계를 건너 뛰어야합니다.
기호 실행 파일
Powershell 창에서 다음 명령을 실행하여 실행 파일에 서명할 수 있습니다. signtool.exe로 eSigner 클라우드 서명을 사용하는 경우 다음을 설치하십시오. 전자 서명자 CKA
. \ signtool.exe 서명 / fd sha256 / a "C : \ path \ to \ MyExecutable.exe"
- 이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는
/fd
옵션은 서명 할 때 사용할 다이제스트 알고리즘을 선택합니다. Windows 10 SDK, HLK, WDK 및 ADK 빌드 20236 이상 서명할 때 이 옵션을 설정해야 합니다. 보안을 위해 SHA256보다 SHA1을 권장합니다. - 이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는
/a
옵션은 SignTool에게 실행 파일에 적합한 코드 서명 인증서를 자동으로 찾도록 지시합니다. - USB 토큰의 PIN을 입력하라는 메시지가 표시됩니다. PIN을 찾는 데 도움이 필요하면 다음을 참조하세요. 이 방법.
서명 인증서 선택
주체 이름 지정
USB 토큰 또는 인증서를 서명하는 코드가 두 개 이상 설치되어 있으면 인증서를 지정하십시오 당신은 그것을 포함하여 사용하고 싶습니다 주체 이름 를 통해 /n
옵션을 선택합니다.
Microsoft의 인증서 관리 도구를 사용하여 인증서의 주체 이름을 찾을 수 있습니다. certmgr. 시작 메뉴에서 도구를 열고 아래 이미지에 표시된 대로 "인증서" 아래의 "개인" 폴더에서 인증서를 찾으세요. 주체 이름은 certmgr의 "발급 대상" 필드입니다.
위 이미지에서 인증서의 주체 이름은 example
. 다음 명령을 사용하여 SignTool에서이 값을 지정할 수 있습니다.
. \ signtool.exe sign / fd sha256 / n "example" "C : \ path \ to \ MyExecutable.exe"
SHA1 해시 지정
주체 이름이 동일한 인증서가 여러 개있는 경우 인증서의 SHA1 해시 (또는 "지문")를 사용하여 서명을 위해 선택할 수도 있습니다. 바꾸다 THUMBPRINT
실제 SHA1 해시 인증서로 아래 명령에서. 이 값은 certmgr에서 인증서 세부 정보를보고 Thumbprint
필드 (명령에서 사용하기 전에 지문에서 공백 문자를 제거해야합니다).
. \ signtool.exe 서명 / fd sha256 / sha1 THUMBPRINT "C : \ path \ to \ MyExecutable.exe"
PKCS # 12 / PFX 파일 사용
PKCS # 12 파일 (PFX 또는 P12 파일이라고도 함)에 코드 서명 인증서와 개인 키가있는 경우 명령 줄에서 파일과 해당 암호를 지정할 수 있습니다.
. \ signtool.exe 서명 / fd sha256 / f "C : \ path \ to \ MyCertificate.pfx"/ p 암호 "C : \ path \ to \ MyExecutable.exe"
타임 스탬프
코드에 타임 스탬프를 지정하면 코드 서명 인증서가 만료 된 후에도 코드를 신뢰할 수 있습니다. 추가하려면 따라서 오른쪽 하단에 서명 된 바이너리 파일에서 SignTool의 /tr
옵션, 다음을 사용하여 타임 스탬프 다이제스트 알고리즘을 설정해야합니다. /td
. 아래 스 니펫의 명령에는 SSL.com실행 파일에 서명하는 동안의 타임 스탬프 서비스.
. \ signtool.exe 서명 / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C : \ path \ to \ MyExecutable.exe"
/tr
옵션 (RFC 3161 타임 스탬프 서버의 URL 지정), 지원 /t
(타임 스탬프 서버의 URL)은 SSL.com의 타임 스탬프 서버와 호환되지 않습니다./td
선택권 절대로 필요한 것 다음에 나오는 /tr
선택권. 타임 스탬프 서버 이전에 타임 스탬프 다이제스트 알고리즘이 지정되면 기본 SHA-1 알고리즘이 사용됩니다. Windows 10 SDK, HLK, WDK 및 ADK 빌드 20236 이상 사용이 필요하다 /tr
타임 스탬프. 보안을 위해 SHA256보다 SHA1이 권장됩니다.이 오류가 발생하는 경우:
The timestamp certificate does not meet a minimum public key length requirement
, ECDSA 키의 타임스탬프를 허용하려면 소프트웨어 공급업체에 문의해야 합니다.소프트웨어 공급업체가 일반 엔드포인트를 사용하도록 허용할 방법이 없는 경우 이 레거시 엔드포인트를 사용할 수 있습니다.
http://ts.ssl.com/legacy
RSA Timestamping Unit에서 타임스탬프를 가져옵니다.기타 옵션
다른 중요한 SignTool 옵션은 다음과 같습니다.
/d
: 서명 된 코드에 대한 설명을 추가하십시오. 예를 들어/d "test code"
./du
: 서명 된 코드에 대한 확장 된 설명이 포함 된 URL을 추가하십시오. 예를 들어/du https://your_website.tld/project/description
.
위의 모든 옵션을 사용하지만 생략 /a
, /sha1
및 /f
인증서의 주체 이름을 /n
명령 줄은 다음과 같습니다.
signtool.exe 서명 / n "예제"/ fd sha256 / tr http://ts.ssl.com / td sha256 / d "테스트 코드"/ du https : //your_website.tld/project/description "C : \ path \ to \ MyExecutable.exe "
서명 확인
이 명령을 사용하여 서명 된 코드를 확인합니다 ( /pa
옵션이 명령에 있어야 함) :
. \ signtool.exe 확인 / pa "C : \ path \ to \ MyExecutable.exe"
파일이 성공적으로 서명 된 경우 다음과 같은 출력이 표시됩니다.
파일 : C : \ path \ to \ MyExecutable.exe 인덱스 알고리즘 타임 스탬프 ================================= ===== 0 sha256 RFC3161 성공적으로 확인 됨 : C : \ path \ to \ MyExecutable.exe
아이콘을 마우스 오른쪽 버튼으로 클릭하고 선택하여 파일이 서명되었는지 확인할 수도 있습니다. 등록 메뉴에서 디지털 서명 탭. 서명을 선택하고 세부 정보 버튼을 클릭합니다.
여기에서 파일에 28 년 2020 월 XNUMX 일 SSL Corp에서 만든 유효한 디지털 서명이 포함되어 있음을 알 수 있습니다.
Executable로 서명 SSL Manager
보다 그래픽 기반의 접근 방식을 선호한다면 SSL.com의 사내 소프트웨어, SSL Manager파일에 서명합니다. 많은 고객이 사용하는 것을 선호합니다 SSL Manager 하나의 통합 인터페이스에서 모든 인증서에 쉽게 액세스 할 수있는 추가 이점을 제공하기 때문입니다. 다운로드 및 설치 지침 SSL Manager우리를 참조하십시오 설치 설명서.
실행 파일에 서명하려면 다음을 선택하여 시작하십시오. 코드 서명> 서명 및 타임 스탬프 코드 패키지 에 SSL Manager의 메뉴.
코드 서명 양식에서 실행 파일 및 코드 서명 인증서 (파일 또는 인증서 저장소에서)와 사용 가능한 타임 스탬프 서버 중 하나를 선택할 수 있습니다. 완료되면 기호 버튼을 눌러 코드에 서명하세요. USB 토큰의 PIN을 입력하라는 메시지가 표시됩니다.
코드 서명 외에 SSL Manager 많은 강력한 기능을 제공합니다. 자세한 내용은 SSL Manager의 문서, 특히 코드 서명 메뉴.
Thales SafeNet(Gemalto) USB 토큰을 사용한 코드 서명
이 섹션에서는 SSL.com의 코드 서명 인증서, Thales SafeNet(Gemalto) USB 토큰 및 Safenet 인증 클라이언트를 사용하여 코드에 서명하는 방법을 보여줍니다.
Thales SafeNet 토큰은 모든 유형의 SSL.com 코드 서명 인증서와 해당 개인 키를 저장할 수 있습니다. 여기에는 개인 신원 코드 서명 인증서, 조직 검증 코드 서명 인증서, 확장 검증 코드 서명 인증서가 포함됩니다.
SafeNet 인증 클라이언트는 Thales의 포괄적인 인증서 기반 인증자 SafeNet 포트폴리오를 처리하는 미들웨어 솔루션입니다. 여기에는 eToken, SafeNet IDPrime 스마트 카드, SafeNet IDPrime Virtual 및 결합된 제품이 포함됩니다. PKI/FIDO 장치.
Thales SafeNet(Gemalto) 토큰의 코드 서명 비밀번호를 변경하거나 잠긴 토큰에 대한 액세스 권한을 회복하는 방법에 대한 지침은 이 SSL.com 기사를 확인하세요. Thales SafeNet/Gemalto 토큰 비밀번호를 변경하는 방법
요구조건 니즈
- Windows 개발 키트 컴퓨터에 설치된
- SafeNet 인증 클라이언트가 컴퓨터에 설치되어 있습니다. 지침은 이 SSL.com 가이드를 참조하세요. 코드 서명 인증서용 SafeNet 인증 클라이언트 다운로드
- SSL.com이 사전 설치된 코드 서명 인증서를 포함하는 Thales SafeNet 토큰입니다. Thales SafeNet 토큰은 다음 단계에 따라 활성화되어야 합니다.
- Thales 토큰의 일련번호를 찾으세요. 이는 토큰 표면에 인쇄된 일련의 문자와 숫자입니다.
- SSL.com 계정에 로그인하세요.
- 클릭 주문 탭 다음에 다운로드 세부 정보를 표시하려면 인증서 주문 링크를 클릭하세요. 에 물리적 토큰 섹션에서 할당된 필드에 일련번호를 입력하여 Thales 토큰을 활성화하세요. Thales 토큰이 활성화되면 물리적 토큰 섹션에 귀하의 활성화 PIN 및 관리자 PIN. 그만큼 관리자 PIN 라고도합니다 토큰 비밀번호 파일에 서명할 때 이를 입력하라는 메시지가 표시됩니다.
Thales SafeNet 토큰으로 코드에 서명하는 단계
- 연결 Thales SafeNet 토큰을 귀하의 컴퓨터에 전송합니다.
- 엽니다 Safenet 인증 클라이언트.
- 코드 서명을 위한 명령을 구성합니다.
signtool 서명 /tr http://ts.ssl.com /td sha256 /fd sha256 /a "PATH_OF_FILE_TO_BE_SIGNED"
범례 :
/fd sha256 서명 시 사용할 다이제스트 알고리즘을 선택합니다.
/tr http://ts.ssl.com 타임스탬프 서버 주소를 지정합니다.
/td 샤256 타임스탬프 다이제스트 알고리즘을 지정합니다.
/a 파일에 적합한 코드 서명 인증서를 자동으로 찾도록 SignTool에 지시합니다.
서명 가능한 파일 경로: 파일 경로는 큰따옴표로 묶어야 합니다. 경로에 서명 가능한 파일 이름을 포함시키십시오. 예: /테스트 파일.dll
주의 사항: 일부 사용자는 sign 명령을 사용할 때 이 오류가 발생할 수 있습니다. 'Signtool'은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 배치 파일로 인식되지 않습니다. 이 오류에 대한 해결책은 텍스트를 제거하는 것입니다. 간판 명령에서 signtool.exe의 경로로 바꿉니다. 경로는 큰따옴표로 묶어야 합니다.
“C:\Program Files (x86)\Windows Kits\10\folder\folder\x86\signtool.exe” 기호 /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a "C:\ 사용자\관리\문서\테스트 파일\테스트 파일.dll"
- 달리기 명령 프롬프트 관리자로 로그인 명령을 실행하세요. 그런 다음 엔터 버튼.
- 메시지가 표시됩니다. 추가 매장 추가가 완료되었습니다. 얼마 후 당신은 당신의 위치를 묻는 메시지가 표시됩니다 토큰 비밀번호. 에 명시된 바와 같이 요구조건 니즈 위 섹션에서 토큰 비밀번호는 관리자 PIN SSL.com 인증서 주문 페이지를 통해 확인할 수 있습니다. 다음을 클릭하세요. OK 버튼을 눌러 코드 서명을 완료하세요.
- 성공! 이제 파일이 서명되었습니다. 명령 프롬프트에서 성공적인 서명을 알려줍니다.
서명 코드 옵션
1. 인증서의 주체 이름을 지정합니다.
코드 서명 USB 토큰 또는 인증서가 여러 개 있는 경우 /n 옵션을 통해 주체 이름을 통합하여 사용할 특정 인증서를 선택할 수 있습니다.
SafeNet 인증 클라이언트에서 기어 아이콘을 클릭하여 고급 보기를 허용하면 인증서의 주체 이름을 볼 수 있습니다. 다음으로 화살표를 클릭하세요. 사용자 인증서 토큰에 설치된 모든 인증서를 표시하려면. 사용하려는 인증서의 이름을 복사합니다.
다음을 사용하는 서명 명령 /n
옵션은 다음과 같습니다. 인증서의 주체 이름은 큰따옴표로 묶어야 합니다.
"PATH OF SIGNTOOL.EXE" 기호 /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n "인증서의 제목 이름" "PATH_OF_FILE_TO_BE_SIGNED"
2. 인증서 지문 지정
동일한 주체 이름이 포함된 여러 인증서를 보유하고 있는 경우 일반적으로 "지문"이라고 하는 SHA1 해시를 사용하여 서명할 인증서를 구별하고 선택할 수 있습니다. 이렇게하려면 다음을 대체하십시오. 지문 인증서의 실제 SHA1 해시를 사용하여 다음 명령을 실행합니다.
SafeNet 인증 클라이언트에서 기어 아이콘을 클릭하여 고급 보기를 허용하면 인증서의 지문 값을 볼 수 있습니다. 다음으로 화살표를 클릭하세요. 사용자 인증서. 사용하려는 인증서를 두 번 클릭합니다. 다음을 클릭하세요. 세부 정보 탭. 마지막으로 아래로 스크롤하여 지문 입력란입니다.
서명 명령에서 텍스트를 바꾸십시오. 지문 인증서 지문의 실제 값으로.
"PATH OF SIGNTOOL.EXE" 기호 /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT "PATH_OF_FILE_TO_BE_SIGNED"
서명 확인
서명된 파일을 마우스 오른쪽 버튼으로 클릭하여 속성을 보면 적용된 디지털 서명을 확인할 수 있습니다.
- 클릭 디지털 서명 탭. 마우스를 서명 목록 상자를 클릭하고 표시된 인증서 이름을 클릭하여 강조 표시합니다. 다음을 클릭하세요. 세부 정보 계속하려면 상자를 선택하세요.
- 파일에 서명하는 데 사용된 인증서의 이름은 물론 서명 및 타임스탬프가 표시된 날짜와 시간도 볼 수 있습니다.