기타

pem <-> jks 인증서 형식 변환하기

junseok 2023. 12. 5. 10:16

사용프로그램

  • openssl
  • keytool

기본 인증서 구성 파일

  • 메인 인증서
  • 개인키
  • 체인 인증서
  • 루트 인증서

pem -> jsk

1. pem 형식으로 파일을 합쳐줍니다.

a. 파일의 순서는 다음과 같습니다.

개인키 -> 메인 인증서 -> 체인 인증서 -> 루트인증서 

$ cat newkey.pem cert.pem DigiCertCA.pem DigiCertRoot.pem > test.com.pem

 

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

a. 변환 시 password를 임의로 지정해 줍니다.

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

 

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

a. 변환 시 password는 openssl에서 설정한 비밀번호로 설정해 줍니다.

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

 

4. 이제 jks 형식으로 변환 된 인증서를 확인해 봅니다.

$ keytool -list -keystore test.com.jks

 


jks -> pem

이제 반대로 jks 형식의 인증서를 pem 형식으로 바꿔 보겠습니다.

 

1. jks 형식의 인증서를 pkcs12 형식으로 변환시켜 줍니다.

 keytool -importkeystore -srckeystore test.com.jks -destkeystore test.com.p12 -deststoretype PKCS12

 

2. pkcs12 형식에서 pem 형식으로 변환해 줍니다.

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

 

3. pem 형식에서 private key를 추출해 줍니다.

openssl pkcs12 -in test.com.p12 -nodes -nocerts -out key.pem