본문 바로가기

리눅스

[draft] CentOS 7에서 OpenSSL과 keytool로 JKS 키스토어 생성하는 방법

CentOS 7에서 OpenSSL과 keytool로 JKS 키스토어 생성하는 방법

인증서 위치 확인

Let’s Encrypt에서 발급받은 인증서 경로

$ pwd
/etc/letsencrypt/live/dockerhub.scbyun.com
$ ls
cert.pem  chain.pem  fullchain.pem  privkey.pem  READM
  • cert.pem : 서버 인증서
  • chain.pem : 중간 인증서 체인
  • privkey.pem : 개인 키
  • fullchain.pem : cert.pem + chain.pem 결합 파일

.pfx(PKCS#12) 인증서 파일 생성

OpenSSL을 이용해 PEM 형식의 인증서를 .pfx 파일로 변환합니다.

openssl pkcs12 \
  -inkey privkey.pem \
  -in cert.pem \
  -certfile chain.pem \
  -export \
  -out cert.pfx \
  -name "cert"
Enter Export Password:
Verifying - Enter Export Password:
** 패스워드는 test1234 지정함

.jks(Java Keystore) 파일 생성

keytool 명령을 사용해 .pfx 파일을 .jks 형식으로 변환합니다.

keytool -importkeystore \
  -srckeystore cert.pfx \
  -srcstoretype pkcs12 \
  -destkeystore keystore.jks \
  -deststoretype pkcs12 \
  -alias "cert"
Enter destination keystore password: (예: test1234)
Re-enter new password:
Enter source keystore password: (예: test1234)
  • 결과 : keystore.jks 파일이 생성됩니다.

키스토어(keystore) 내용 확인

키스토어 내 인증서 정보를 확인합니다.

keytool -list -keystore keystore.jks
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 1 entry

cert, Mar 18, 2022, PrivateKeyEntry,
Certificate fingerprint (SHA1): B0:50:41:84:E6:2C:09:DD:B0:51:AF:AF:C8:F1:A6:23:C2:B7:95:61

상세 정보 확인

keytool -list -keystore keystore.jks -v

 

참고 및 주의사항

  • pfx 및 jks 파일은 개인키를 포함하므로 접근 권한(600) 으로 제한합니다.
chmod 600 cert.pfx keystore.jks