Code Signing In Java

아래의 사항은 codesign을 위한 최소 요구 사항 입니다(2017년 2월 1일 기준)

Code Signing In Java 설치 조건 안내

설치 전제 조건은 다음과 같습니다.

1. 보안 토큰에 인증서를 받아 설치 완료해야 합니다.

Codesign 설치가이드 바로가기

2.Java JDK를 설치 완료해야 합니다.

3. Java JDK bin 폴더에 설정된 권한에 따라 관리 권한이 필요할 수 있습니다.

Code Signing Signature 설정

각 단계를 클릭하셔서 설정을 진행해주세요

  1. 일반 텍스트 편집기를 열고 eToken.cfg라는 파일을 작성하십시오. 파일에는 2 개, 3 개 행이 포함되어야합니다. 참고 : 지정되지 않은 경우 기본 슬롯 번호는 0입니다. SafeNet eToken 5100은 슬롯 0에 자동으로 할당되므로 .cfg 파일에 슬롯 행이 필요하지 않습니다. 그러나 설치된 eToken / SmartCard 리더의 수에 따라 변경해야 할 수도 있습니다. SafeNet Ikey 4000의 기본 슬롯 번호는 슬롯 3입니다. SafeNet iKey 4000을 사용할 때 슬롯 라인이 필요합니다.

    name=eToken

    library=c:\WINDOWS\system32\eTPKCS11.dll

    slot=3

  2. 아래 그림과 같이 주문시 설정된 임시 픽업 비밀번호를 입력하십시오. 계속 하려면 다음을 클릭하십시오.

    C:\Program Files (x86)\Java\jdk1.7.0_67\bin

  3. 시작 > 실행 > cmd

  4. 귀하 또는 회사에서 제공 한 스마트 카드에 설치하려면 Microsoft Base Smart Card Crypto Provider를 선택하십시오 .

    cd C:\Program Files (x86)\Java\jdk1.7.0_67\bin

  5. keytool -list -keystore NONE -storetype PKCS11 -providerclass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg

    오류 참고 :이 시점에서 "java.security.KeyStoreException : PKCS11을 찾을 수 없음"오류가 표시됩니다. 구성에는 두 가지 잠재적 인 문제가 있습니다.

    eToken.cfg 파일에서 슬롯 번호를 0으로 설정하십시오 (슬롯 = 0). list 명령을 다시 실행하여 오류가 반복 될 때마다 슬롯 번호를 1 씩 증가시킵니다.
    SafeNet 토큰 암호 문구를 허용하는 키 저장소 비밀번호 입력 프롬프트가 표시됩니다. * 서명 : 서명 설정 1 단계를 참조하십시오.

    SafeNet 드라이버가 올바르게 설치되지 않았습니다. 적절한 드라이버가 설치되어 있는지 확인하십시오.

  6. le-d0e453de-66db-414a-8fa8-0a07cfad66b5, PrivateKeyEntry, Certificate fingerprint (SHA1): 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

  7. Safenet 인증 클라이언트를 열고 상단의 톱니 바퀴 아이콘을 누릅니다.

  8. 그러면 인증서 세부 정보가 표시됩니다. 세부 정보 탭을 선택하고 아래쪽으로 스크롤하면 지문이 나타납니다.

  9. (별칭 예 : le-d0e453de-66db-414a-8fa8-0a07cfad66b5)

.Jar 파일 signature

1.토큰에 성공적으로 액세스하고 인증서 별명을 수신 했으므로 .jar 파일에 서명 할 수 있습니다. 서명 한 .jar 파일을 bin 디렉토리에 배치해야합니다.

2.명령 행에서 Java SDK bin 디렉토리 (예 : C : \ Program Files (x86) \ Java \ jdk1.7.0_67 \ bin)로 이동하십시오.
서명하는 데 사용되는 명령은 다음과 같습니다.

jarsigner -keystore NONE -storetype PKCS11 -tsa http://rfc3161timestamp.globalsign.com/advanced -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg test.jar "le-d0e453de-66db-414a-8fa8-0a07cfad66b5"

코드 타임 스탬프는 매우 중요하며 서명 한 모든 코드에 강력히 권장됩니다. 이 타임 스탬프를 사용하면 서명 한 파일이 인증서 자체가 만료 된 후에도 오랫동안 유효합니다.

3. Java JDK bin 폴더에 설정된 권한에 따라 관리 권한이 필요할 수 있습니다.

일반적인 오류

경고 : 서명자의 인증서 체인이 검증되지 않았습니다.
서명 체인을 올바르게 유지하려면 GlobalSign 표준 코드 서명 중급 인증서 를 토큰으로 가져와야합니다

2.명령 행에서 Java SDK bin 디렉토리 (예 : C : \ Program Files (x86) \ Java \ jdk1.7.0_67 \ bin)로 이동하십시오.
서명하는 데 사용되는 명령은 다음과 같습니다.

jarsigner -keystore NONE -storetype PKCS11 -tsa http://rfc3161timestamp.globalsign.com/advanced -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg test.jar "le-d0e453de-66db-414a-8fa8-0a07cfad66b5"

인증서 유형에 따라 해당 중간 인증서를 가져와야합니다.