Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
* ca.pem, cert.pem, certkey.pem을 이용하여 cert.p12를 만들고 cert.p12를 이용하여 cert.jks를 만들 수 있다.
* JKS 포맷의 인증서는 java 계열 인증설정시 많이 사용한다.
예를 들어 아래와 같이 파일이 있다고 하자.
- 메인 인증서 : cert.crt
- 개인키 : cert.key
- 체인인증서 : chain1.crt , chain2.crt
- 루트인증서 : ca.crt
1. pem 형식으로 파일 압축하기
crt 및 개인키로 인증서를 적용하기 위해 pem 형식으로 변환
( 개인키 -> 메인인증서 -> 체인인증서 -> 루트인증서 순서이다.)
$ cat cert.key cert.crt chain1.crt chain2.crt ca.crt > cert.pem
2. openssl 을 이용하여 pem -> pkcs12 포맷으로 변환
( cert.pem 을 cert.p12 로 변환 )
$ openssl pkcs12 -export -in cert.pem -inkey certkey.pem -certfile ca.pem -out cert.p12
변환 시 패드워드는 임의로 지정한다.
3. keytool 을 이용하여 pkcs12 -> jks 포맷으로 변환
( cert.p12 을 cert.jks 로 변환 )
$ : keytool -importkeystore -srckeystore cert.p12 -srcstoretlype pkcs12 -destkeystore cert.jks -deststoretype jks
패스워드는 위의 openssl 사용 시 사용했던 패스워드를 사용한다.
4. 변환된 인증서 확인
$ keytool -list -keystore cert.jks
Enter keystore password: (default password는 changeit)
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
출처: https://onecellboy.tistory.com/341 [신불사 - 신현호라 불리는 사나이]