상세 컨텐츠

본문 제목

Convert Certificate Format SSL 인증서 변환 가이드

보안

by MustThanks 2022. 10. 6. 12:50

본문

반응형

Convert Certificate Format SSL 인증서 변환 가이드

◾ Sectigo PositiveSSL ▷ 22% 가격 할인 프로모션 진행중. 자세히보기
◾ Sectigo PositiveSSL Wildcard ▷ 타사이전 결제액 50% 특별 포인트 적립 진행중. 자세히보기
본 매뉴얼은 각 변환 S/W 제작사의 매뉴얼 내용중 일부입니다. 특정 환경에서의 적용은 해당 서버 공식 기술지원을 이용하시기 바랍니다. SecureSign 에서 CSR 자동생성 발급시, 기본 pem 및 pfx / jks / p7b 포맷도 첨부 제공되므로 그외의 수작업시에만 참조하면 됩니다. ('사용법 설명 및 별도 변환 작업' 제공 불가)

 OpenSSL 이용한 .pfx 생성 / pem 추출 / PrivateKey 암호화 적용,해제

.crt 및 .key 를 조합하여 .pfx 만들기
(CSR 자동생성으로 발급시, zip 파일에 pfx / jks 파일이 기본 첨부 제공됩니다. - 별도 변환 불필요)

openssl pkcs12 -export -in www.sslcert.co.kr.crt -inkey private.key -out www.sslcert.co.kr.pfx
.pfx 에서 .crt 추출하기 (.pfx 암호 필요)
openssl pkcs12 -in www.sslcert.co.kr.pfx -clcerts -nokeys -out www.sslcert.co.kr.crt.pem
.pfx 에서 .key 추출하기 (.pfx 암호 필요)
openssl pkcs12 -in www.sslcert.co.kr.pfx -nocerts -nodes -out private.key
.pfx 에 포함된 인증서 확인 (.pfx 암호 필요)
openssl pkcs12 -info -in www.sslcert.co.kr.pfx
.pfx 패스워드(암호) 변경
1) openssl pkcs12 -in old_www.sslcert.co.kr.pfx -out temp.pem -nodes
2) openssl pkcs12 -export -out new_www.sslcert.co.kr.pfx -in temp.pem

Enter Export Passord: (새로운 .pfx 패스워드 입력)
Verifying - Enter Export Password:

개인키 파일에 암호화 적용 (패스워드 적용)
openssl rsa -des3 -in www.sslcert.co.kr.key -out _ENCRYPTED_.key.pem

writing RSA key
Enter PEM pass phrase: (개인키 PEM 암호화 적용 패스워드 입력)
Verifying - Enter PEM pass phrase:

암호화 해제된 개인키 파일 생성
openssl rsa -in _ENCRYPTED_.key.pem -out www.sslcert.co.kr.key

Enter pass phrase for _ENCRYPTED_.key.pem: (개인키 PEM 패스워드 입력)
writing RSA key

 PEM/PFX  JavakeyStore(.jks) 변환

PEM 을 PKCS#12 으로 변환
(CSR 자동생성으로 발급시, zip 파일에 pfx / jks 파일이 기본 첨부 제공됩니다. - 별도 변환 불필요)

cat domain.crt chain1.crt chain2.crt root.crt > cert.pem - 1개 cert.pem 파일로 통합

openssl pkcs12 -export -name example.com -in cert.pem -inkey private.key -out www.sslcert.co.kr.pfx - .pfx 파일로 저장
.pfx 에서 .jks 변환
(CSR 자동생성으로 발급시, zip 파일에 pfx / jks 파일이 기본 첨부 제공됩니다. - 별도 변환 불필요)

keytool -importkeystore -srckeystore www.sslcert.co.kr.pfx -srcstoretype pkcs12 -destkeystore www.sslcert.co.kr.jks -deststoretype jks

* pfx 에 개인키, 서버인증서, 체인인증서, 루트인증서 가 포함되어 있는 경우, KeyStore 에 모두 Import 됨


대상 키 저장소 비밀번호 입력: ******
새 비밀번호 다시 입력: ******
소스 키 저장소 비밀번호 입력: ****** (pfx암호)
www.securesign.kr 별칭에 대한 항목이 성공적으로 임포트되었습니다.
임포트 명령 완료: 성공적으로 임포트된 항목은 1개, 실패하거나 취소된 항목은 0개입니다.

 JavakeyStore(.jks)  PFX 변환

JavakeyStore 를 PKCS#12 으로 변환
(CSR 자동생성으로 발급시, zip 파일에 pfx / jks 파일이 기본 첨부 제공됩니다. - 별도 변환 불필요)

keytool -importkeystore -srckeystore www.sslcert.co.kr.jks -srcstoretype JKS -srcstorepass "password" -destkeystore www.sslcert.co.kr.pfx -deststoretype PKCS12 -deststorepass "password"

* .jks 파일을 .pfx 파일로 변환 저장 (원본 jks 파일 패스워드 필요, 대상 pfx 패스워드 지정)

 JavakeyStore(.jks) 의 비밀번호, Alias 변경

KeyStore 비밀번호 변경
keytool.exe -storepasswd -new 변경될 비밀번호 -keystore www.sslcert.co.kr.jks

키 저장소 비밀번호 입력: (기존 KeyStore 비밀번호)

Key 비밀번호 변경
keytool.exe -keypasswd -alias www.sslcert.co.kr -keystore www.sslcert.co.kr.jks

키 저장소 비밀번호 입력: (KeyStore 비밀번호)
<www.sslcert.co.kr>에 대한 키 비밀번호를 입력하십시오. (CSR 자동생성의 경우 Key 비밀번호는 KeyStore 비밀번호와 같음)
새 <www.sslcert.co.kr>에 대한 키 비밀번호:
새 <www.sslcert.co.kr>에 대한 키 비밀번호 다시 입력:

Alias 별칭이름 변경
keytool.exe -changealias -keystore www.sslcert.co.kr.jks -alias www.sslcert.co.kr -destalias 변경될 Alias 이름

(작업전, keytool -list -v -keystore cert.jks 내역 확인 필수)

 JavakeyStore(.jks) 인증서 확인/추가/삭제

JavakeyStore(.jks) 에 포함된 인증서 확인
keytool -list -v -keystore www.sslcert.co.kr.jks

개인키, 서버인증서, 체인인증서, 루트인증서 등 포함된 인증서 목록이 출력 됨


키 저장소 비밀번호 입력: *****
키 저장소 유형: JKS
키 저장소 제공자: SUN
..
키 저장소에 1개의 항목이 포함되어 있습니다.
..
별칭 이름(Alias): www.sslcert.co.kr
생성 날짜: 2015. 5. 26
항목 유형: PrivateKeyEntry
....
서버인증서
체인인증서
루트인증서

JavakeyStore 에 인증서 추가
keytool -import -trustcacerts -alias 설정할Alias -file cert.pem -keystore www.sslcert.co.kr.jks

(작업전, keytool -list -v -keystore cert.jks 내역 확인 필수)

JavakeyStore 에서 특정 인증서 삭제
keytool -delete -alias 삭제대상Alias -keystore www.sslcert.co.kr.jks -storepass 키스토어암호

(작업전, keytool -list -v -keystore cert.jks 내역 확인 필수)

 OpenSSL 이용한 인증서 포맷 변경(변환)

PEM  DER (바이너리)
인증서 : openssl x509 -outform DER -in 원본인증서.pem -out 변환인증서.der
개인키 : openssl rsa -in 원본개인키.pem -pubout -outform DER -out 변환개인키.der
DER/CER (바이너리)  PEM
openssl x509 -inform der -in 원본인증서.der -out 변환생성파일.pem
openssl x509 -in 원본인증서.cer -outform PEM -out 변환생성파일.pem
PEM  p7b(pkcs#7)
openssl crl2pkcs7 -nocrl -certfile 도메인_주문번호.unified.crt.pem -out 변환생성파일.p7b (발급완료 zip 기준 : 서버+체인+루트)
openssl crl2pkcs7 -nocrl -certfile ca-chain-bundle.pem -out 변환생성파일.p7b (발급완료 zip 기준 : 체인+루트)
openssl crl2pkcs7 -nocrl -certfile 서버인증서.pem -certfile 루트체인.pem -out 변환생성파일.p7b (개별 파일 통합 기준)
CER/PrivateKey  pfx(pkcs#12)
openssl pkcs12 -export -in 서버인증서.cer -inkey 개인키.key -certfile 루트체인.cer -out 변환생성파일.pfx

 PEM  IBM Keyring (.Kyr) 변환

IBM Domino Kyrtool 을 이용해서 Keyring 포맷으로 변환 예제 
SSL 인증서 발급 완료시 Keyring 포맷은 제공되지 않으므로, 직접 변환해서 적용해야 합니다.

출처: SSL 인증서 pem, crt, pfx, jks, p7b 포맷 변환 가이드 - SecureSign (sslcert.co.kr)

관련글 더보기

댓글 영역