업무상 발급 받은 인증서가 JKS 포멧으로 왔다. Nginx에서 사용할 예정이라고 왔는데 왜 이렇게 왔는지는 모르겠으나 다시 신청하려면 번거로웠기 때문에 JKS를 사용하는 방법이 없나 검색해보았는데 pem, key 파일로 추출하는 방법이 있었다.
변환을 위해서는 keytool과 openssl 명령이 있어야 한다.
keytool을 이용하여 JKS파일을 PKCS12 파일로 변환하기
keytool -importkeystore -srckeystore [파일이름].jks -destkeystore [파일이름].p12 -deststoretype PKCS12
Cert 파일 추출하기
openssl pkcs12 -in [파일이름].p12 -out [파일이름].pem -clcerts -nokeys
Key 파일 추출하기
openssl pkcs12 -in [파일이름].p12 -out [파일이름].key -nocerts -des
이렇게 추출한 cert, key 파일을 nginx configuration 파일에 다음과 같은 형태로 추가하면 된다.
ssl_certificate /app/nginx/conf/ssl/[Cert 파일이름].pem; ssl_certificate_key /app/nginx/conf/ssl/[Key 파일이름].key;
key 파일 패스워드 제거 방법
openssl rsa -in [파일이름].key -out [파일이름].key
참고
- https://88oy.tistory.com/466