학습자료(~2017)/리눅스

[Java] 인증서 PEM -> JKS 변경

단세포소년 2016. 1. 20. 16:29
반응형


JKS 포맷의 인증서는 java 계열 인증설정시 많이 사용한다.




예를 들어 아래와 같이 파일이 있다고 하자.

 - 메인 인증서 : test.com.crt

 - 개인키 : test.com.key

 - 체인인증서 : chain1.crt , chain2.crt

 - 루트인증서 : trustcaroot.crt




1. pem 형식으로 파일 압축하기

crt 및 개인키로 인증서를 적용하기 위해 pem 형식으로 변환

( 개인키 -> 메인인증서 -> 체인인증서 -> 루트인증서 순서이다.)

$ cat test.com.key test.com.crt chain1.crt chain2.crt trustcaroot.crt > test.com.pem



2. openssl 을 이용하여 pem -> pkcs12 포맷으로 변환

( test.com.pem 을 test.com.p12 로 변환 )

$ openssl pkcs12 -export -out test.com.p12 -in test.com.pem

변환 시 패드워드는 임의로 지정한다.



3. keytool 을 이용하여 pkcs12 -> jks 포맷으로 변환

( test.com.p12 을 test.com.jks 로 변환 )

$ keytool -importkeystore -srckeystore test.com.p12 -srcstoretype pkcs12 -destkeystore test.com.jks -deststoretype jks

패스워드는 위의 openssl 사용 시 사용했던 패스워드를 사용한다.



4. 변환된 인증서 확인

$ keytool -list -keystore test.com.jks


Enter keystore password:

 

Keystore type: JKS

Keystore provider: SUN

 

Your keystore contains 1 entry

 

1, Jan 18, 2016, PrivateKeyEntry,

Certificate fingerprint (SHA1): B4:8D:C1:78:55:56:28:87:BA:39:EB:52:44:38:C1:11:5C:2B:43:93


반응형