Search

[JAVA] JAVA 서명 가이드

Created
2022/11/16 06:46
Tags

주의사항

GlobalSign USB CodeSign 인증서는 30일 이내에 설치하셔야 하며,
그렇지 않은 경우 자동적으로 취소되니, 이 점 유의하시기 바랍니다.

준비 사항

- JDK 설치

※ 코드사인 서명 작업 시, Java 버전 확인이 필요합니다.
Java 버전 적용 범위
버전
Java 1.6.X
Java 1.7.X
Java 1.8.X
64비트
X
X
O
32비트
O
O
O

- SafeNet Token 드라이버 설치

- Cross Certificate 설치

- EV CodeSigning Chain 설치

발급받으신 인증서가 EV일 경우만 설치합니다.

진행 과정

1. GlobalSign 사이트를 신뢰할 수 있는 사이트로 등록합니다.

① Internet Explorer 접속 → 도구 → 인터넷 옵션 → 보안 을 클릭합니다.
② 아래 2개의 사이트를 신뢰할 수 있는 사이트로 등록합니다.

2. SafeNet Token에 인증서가 등록되었는지 확인합니다.

3. 디지털 서명 전 설정합니다.

※ 반드시 USB Token과 연결하신 후 진행하셔야 합니다.
① jarsigner. exe 파일이 있는 폴더로 이동합니다. (자바 설치 경로)
Ex. C: Program Files Java\jdk1.8.0_1\ bin
② eToken.cfg 파일을 만듭니다. (관리자 권한으로 실행)
텍스트 내용
name=eToken library=c\WINDOWS\system32\eTPKCS11.dll slot=0
Plain Text
복사
③ 이 파일을 JDK bin 폴더에 저장합니다. (자바 설치 경로)
Ex. C:\Program Files\Java\jdk1.8.0_11\bin
④ cmd 를 실행합니다. (관리자 권한으로 실행) → 자바 설치 경로로 이동
Ex. C:\Program Files\Java\jdk1.8.0_11\bin
⑤ 토큰을 사용하여 서명하려면 개인 키의 별명을 찾아야 합니다. 이렇게 하면 서명 할 때 필요한 인증서를 확인 할 수 있습니다. bin 폴더에서 다음 명령을 실행합니다.
keytool -list -keystore NONE -storetype PKCS11 -providerclass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
⑥ 출력은 키 별명 , 키 유형 및 인증서 지문으로 구성됩니다 . 실제로 파일에 서명하려면 코드사인 인증서의 별칭 이 필요합니다.
⑦ 토큰에 인증서가 두 개 이상 있는 경우 사용할 인증서를 식별해야 할 수 있습니다 . Safenet 인증 클라이언트를 열고 상단 의 톱니 바퀴 아이콘을 누릅니다.
일반적으로는 1 개만 발급 받으시기 때문에 해당 항목은 넘어가시면 됩니다.
⑧ 설치된 GlobalSign 코드 서명 인증서를 찾아 두 번 클릭하 시 면 인증서 세부 정보가 표시됩니다 . 세부 정보 탭을 선택하고 아래쪽으로 스크롤하면 지문이 나타납니다.
⑨ 인증서 지문을 출력한 별칭과 일치시킵니다. 별칭은 첫 번째 항목이 됩니다.
⑩ 다음 명령에서 사용할 별칭을 복사합니다.
예시
le-d0e453de-66db-414a-8fa8-0a07cfad66b5
Plain Text
복사

4. 디지털 서명하기

※ 반드시 USB Token과 연결하신 후 진행하셔야 합니다.
① 이제 토큰에 성공적으로 액세스하여 인증서 별칭을 받았으므로 .jar 파일에 서명 할 수 있습니다 . 서명하는 .jar 파일을 bin 디렉토리에 두어야 합니다.
Ex. C:\Program Files\Java\jdk1.8.0_11\bin
② cmd 창(관리자 권한 실행)에서 Java bin 디렉토리로 이동합니다.
Ex. C:\Program Files\Java\jdk1.8.0_11\bin
③ 다음의 명령을 사용합니다.
[디지털 서명 명령어 : test.jar --> 서명할 jar 파일 jarsigner -keystore NONE -storetype PKCS11 -tsa http://timestamp.globalsign.com/tsa/r6advanced1 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg test.jar "le d0e453de 66db 414a 8fa8 0a07cfad66b5"
jar signed.
④ 서명을 확인합니다.
jarsigner -verify -verbose -certs [서명된 jar 파일]

관련된 자료가 더 필요하신가요?