메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

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 [신불사 - 신현호라 불리는 사나이]

위로