이 글에 사용된 SignCertificate 자바 프로그램은 아래에서 받을 수 있으며 원 출처는 Professor T.Andrew Yang의 웹사이트이다.

참고 사이트
첨부 파일




Java의 keytool 명령어를 사용하여 PKI 인증서 체인을 만드는 방법

1. root 인증서를 만들어 자기 자신으로 서명을 한다.
keytool -genkey -alias root -keyalg rsa -keysize 2048 -dname "CN=Root" -validity 365 -keypass rootpass -keystore mystore.sks -storepass storepass
keytool -selfcert -alias root -keypass rootpass -keystore mystore.sks -storepass storepass

2. 하위 인증서인 second를 만든다.
keytool -genkey -alias second -keyalg rsa -keysize 2048 -dname "CN=Second" -validity 365 -keypass secondpass -keystore mystore.sks -storepass storepass

3. SingCertificate을 사용하여 second 인증서를 root 인증서로 서명한다.
java SignCertificate mystore.sks root second secondSisgned
storepass와 root의 password, 그리고 second의 password를 차례로 입력한다. mystore.sks에 secondSigned라는 인증서가 하나 추가되는데, 이 인증서는 root 인증서로 서명된 second 인증서이다.

4. root에 의해 서명된 secondSigned를 파일로 export한다.
keytool -export -alias secondSigned -file secondSigned.crt -keystore mystore.sks -storepass storepass

5. second와 secondSigned를 store에서 삭제한다.
keytool -delete -alias secondSigned -keystore mystore.sks -storepass storepass
keytool -delete -alias second -keystore mystore.sks -storepass storepass

6. export했던 secondSigned.crt 파일을 다시 import 한다.
keytool -import -file secondSigned.crt -alias second -keystore mystore.sks -storepass storepass

7. 생성된 인증서 목록을 확인해본다.
keytool -list -v -keystore mystore.sks -storepass storepass
second 인증서의 항목을 보면 발급자가 "CN=Root"인 것을 확인할 수 있다.

JDK 버전에 따라서는 4~6 과정을 다음으로 대신 할 수 도 있다.
 keytool -delete -alias second -keystore mystore.sks -storepass storepass
keytool -changealias -alias secondSigned -destalias second -keystore mystore.sks -storepass storepass

이렇게 생성된 인증서를 export하여 key chain에 추가한 화면이다. Root를 신뢰할 수 있는 인증서로 등록하면 Root에 의해 서명된 Second 역시 신뢰된 인증서로 추가된다.
트랙백 주소 :: http://h2kfl.pe.kr/40/trackback/
옵션
댓글 달기