Jsign을 사용하여 Linux에서 Microsoft Authenticode 코드 서명

제이사인 Microsoft Authenticode 코드 서명을위한 오픈 소스 플랫폼 독립적 Java 도구입니다. Jsign은 Maven, Gradle 및 Ant와 같은 빌드 시스템과 쉽게 통합하거나 명령 줄에서 직접 사용할 수 있습니다.

이 방법에서는 제이사인 Linux 명령 줄에서 OV / IV 코드 서명EV 코드 서명. Jsign은 Java 기반이므로 Windows 및 MacOS 시스템에서도 사용할 수 있습니다.

Jsign 설치

먼저 Jsign을 다운로드하여 설치해야합니다. 그만큼 Jsign 웹 사이트 가장 널리 사용되는 Linux 시스템에 쉽게 설치할 수있는 Debian 및 RPM 패키지에 대한 링크와 .jar 파일.

OV / IV 코드 서명

이 섹션은 1년 2023월 XNUMX일 이전에 주문한 개별 유효성 검사(IV) 및 조직 유효성 검사(OV) 코드 서명 인증서에만 적용됩니다. 1 년 2023 월 XNUMX 일부터, SSL.com의 IV 및 OV 코드 서명 인증서는 Federal Information Processing Standard 140-2(FIPS 140-2) USB 토큰 또는 eSigner 클라우드 코드 서명 서비스를 통해 발급되기 시작했습니다. 

OV/IV 코드 서명의 경우 Java 키 저장소 또는 PKCS#12(PFX) 파일에 저장된 인증서를 사용할 수 있습니다. 아래의 모든 코드 예제에서 모두 대문자로 표시된 값을 실제 값으로 바꿉니다.

  1. 먼저 keytool 명령을 얻으려면 alias 서명 할 때 사용할 값 :
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. 당신의 출력을 확인하십시오 keytool 다음으로 시작하는 줄에 대한 명령 Alias name:.
    키 저장소 유형 : PKCS12 키 저장소 공급자 : SUN 키 저장소에 항목 1 개 포함 별칭 이름 : 1 생성 날짜 : 18 년 2021 월 4 일 항목 유형 : PrivateKeyEntry 인증서 체인 길이 : XNUMX ...

    위의 예에서 Alias name is 1.

  3. 다음과 같은 명령을 사용하여 파일에 서명하고 타임 스탬프를 찍습니다.
    • jsign 시스템 전체에 설치된 명령 :
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Jsigner와 함께 .jar 파일 :
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- 기호
  4. 명령이 성공하면 다음과 같은 출력이 표시됩니다.
    example.exe에 Authenticode 서명 추가
참고 : 기본적으로 SSL.com은 ECDSA 키의 타임스탬프를 지원합니다.

이 오류가 발생하는 경우: The timestamp certificate does not meet a minimum public key length requirement, ECDSA 키의 타임스탬프를 허용하려면 소프트웨어 공급업체에 문의해야 합니다.

소프트웨어 공급업체가 일반 엔드포인트를 사용하도록 허용할 방법이 없는 경우 이 레거시 엔드포인트를 사용할 수 있습니다. http://ts.ssl.com/legacy RSA Timestamping Unit에서 타임스탬프를 가져옵니다.

EV 코드 서명

EV 코드 서명 인증서와 함께 Jsign을 사용할 수도 있습니다. 여기의 예는 SSL.com을 사용합니다. EV 코드 서명 인증서 에 설치 FIPS 140-2 인증 보안 키 USB 토큰.

  1. 먼저 OpenSC PKCS # 11 API를 통해 토큰과 통신 할 수 있도록 시스템에 설치됩니다. Ubuntu와 같은 Debian 기반 배포판에서는 다음을 사용하여 OpenSC를 설치할 수 있습니다. apt:
    sudo apt 설치 opensc
  2. 다음으로 구성 파일을 만듭니다. 파일 이름은 임의적이지만 아래 예제 명령에서는 eToken.cfg. 경로는 opensc-pkcs11.so OpenSC 설치에 따라 다를 수 있으므로 구성 파일을 만들기 전에 확인하십시오.
    이름 = OpenSC-PKCS11 설명 = OpenSC 라이브러리를 통한 SunPKCS11 = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. 사용 keytool 명령을 얻으려면 alias 서명 할 때 사용할 값 :
    keytool -list -v -keystore 없음 -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. 당신의 출력을 확인하십시오 keytool 다음으로 시작하는 줄에 대한 명령 Alias name:. 토큰에 여러 인증서가 포함 된 경우 인증서에 대한 출력의 유효 날짜 및 발급자를 확인합니다. SSL.com의 YubiKey에서 발급 된 EV 코드 서명 인증서의 별칭 이름은 Certificate for PIV Authentication.
    별칭 이름 : PIV 인증 용 인증서 항목 유형 : PrivateKeyEntry 인증서 체인 길이 : 1 인증서 [1] : 소유자 : OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada, OID.20081614243 = Private Organization, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = US 발급자 : CN = SSL.com EV 코드 서명 중급 CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US 일련 번호 : 93f57a3bac6570c781580f63172e17 유효 기간 : 금요일 12 월 46 일 04:2020:17 EDT 12 종료 : 46 월 04 일 토요일 2021:XNUMX:XNUMX EDT XNUMX
  5. 다음과 같은 명령을 사용하여 파일에 서명하고 타임 스탬프를 찍습니다.
    • jsign 시스템 전체에 설치된 명령 :
      jsign --keystore eToken.cfg --alias "Certificate for PIV Authentication"--storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Jsigner와 함께 .jar 파일 :
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificate for PIV Authentication"--storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 파일 -서명하다
  6. 명령이 성공하면 다음과 같은 출력이 표시됩니다.
    example.exe에 Authenticode 서명 추가
참고 : 기본적으로 SSL.com은 ECDSA 키의 타임스탬프를 지원합니다.

이 오류가 발생하는 경우: The timestamp certificate does not meet a minimum public key length requirement, ECDSA 키의 타임스탬프를 허용하려면 소프트웨어 공급업체에 문의해야 합니다.

소프트웨어 공급업체가 일반 엔드포인트를 사용하도록 허용할 방법이 없는 경우 이 레거시 엔드포인트를 사용할 수 있습니다. http://ts.ssl.com/legacy RSA Timestamping Unit에서 타임스탬프를 가져옵니다.

디지털 서명 확인

  1. Windows에서 서명 세부 정보를보고 디지털 서명이 유효한지 확인할 수 있습니다.
    디지털 서명은 괜찮습니다
  2. VOUS pouvez의 aussi 사용 서명 도구 Windows에서 디지털 서명을 확인합니다.
    signtool.exe 확인 / pa 'C : \ Users \ Aaron Russell \ Desktop \ example.exe'파일 : C : \ Users \ Aaron Russell \ Desktop \ example.exe 인덱스 알고리즘 타임 스탬프 =========== ============================ 0 sha256 RFC3161 성공적으로 확인 됨 : C : \ Users \ Aaron Russell \ Desktop \ example.exe

SSL.com의 뉴스 레터 구독

SSL.com의 새로운 기사 및 업데이트를 놓치지 마십시오

최신 정보를 얻고 보안을 유지하세요

SSL.com 사이버 보안 분야의 글로벌 리더입니다. PKI 그리고 디지털 인증서. 최신 업계 뉴스, 팁, 제품 공지 사항을 받아보려면 등록하세요. SSL.com.

우리는 귀하의 피드백을 환영합니다

설문조사에 참여하여 최근 구매에 대한 의견을 알려주세요.