sitelink1 https://blog.naver.com/hsunryou/223630528327 
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

Windows11 에서 letsencrypt 인증서(pem)를 발급 받아 사용중이다.

openssl 은 https://slproweb.com/products/Win32OpenSSL.html 페이지의 download 목록에서 본인의 os에 맞게 다운로드하여 설치하자.

만약 리눅스 환경에서라면 sitelink1 을 참고한다.

다음은 pem을 jks로 변환하는 실제 작업에서의 커맨드 명령어와 실행 결과이다.

 

Microsoft Windows [Version 10.0.22621.4317]

(c) Microsoft Corporation. All rights reserved.

 

C:\WIN-ACME\jiniebox.com>openssl pkcs12 -export -out yourdomain.com.pkcs12 -in yourdomain.com-chain.pem -inkey yourdomain.com-key.pem

Enter Export Password: [걍 적당히]

 

Verifying - Enter Export Password:

 

C:\WIN-ACME\yourdomain.com>keytool -importkeystore -srckeystore yourdomain.com.pkcs12 -srcstoretype PKCS12 -destkeystore yourdomain.com.jks -deststoretype JKS

키 저장소 yourdomain.com.pkcs12을(를) yourdomain.com.jks(으)로 임포트하는 중...

대상 키 저장소 비밀번호 입력: [6자리 이상으로 적당히]

 

새 비밀번호 다시 입력:

 

소스 키 저장소 비밀번호 입력: [위에 pkcs12 변환할때 입력했던 비밀번호]

 

1 별칭에 대한 항목이 성공적으로 임포트되었습니다.

임포트 명령 완료: 성공적으로 임포트된 항목은 1개, 실패하거나 취소된 항목은 0개입니다.

 

Warning:

JKS 키 저장소는 고유 형식을 사용합니다. "keytool -importkeystore -srckeystore yourdomain.com.jks -destkeystore yourdomain.com.jks -deststoretype pkcs12"를 사용하는 산업 표준 형식인 PKCS12로 이전하는 것이 좋습니다.

 

작업이 성공하면 pkcs12 와 jks 확장자의 파일들이 생성되어 있다.

 

다음은 위 명령어들을 한번의 shell script 로 수행하는 batch 예제이다 (windows 기준)

 

@echo off

 

:: 1. PEM 인증서를 PKCS#12 파일로 변환합니다.

openssl pkcs12 -export -in yourdomain.com-chain.pem -inkey yourdomain.com-key.pem -out yourdomain.com.pkcs12 -name "letsencrypt" -CAfile yourdomain.com-crt.pem -caname "letsencrypt_ca" -password pass:1234

 

:: 2. PKCS#12 파일을 JKS(Java KeyStore) 형식으로 변환합니다.

keytool -importkeystore -srckeystore yourdomain.com.pkcs12 -srcstoretype PKCS12 -destkeystore yourdomain.com.jks -deststoretype JKS -deststorepass "123456" -srcstorepass "1234" -alias "letsencrypt"

 

:: 3. 임시로 생성한 PKCS#12 파일 삭제

del yourdomain.com.pkcs12

 

@echo 인증서 변환이 완료되었습니다!