OpenSSL을 사용하여 PKCS # 12 인증서를 PEM으로 변환
Windows 7의 OpenSSL x64 를 Google Code의 openssl-for-windows에서 다운로드했습니다 . 나는 실행하려고합니다 :
openssl pkcs12 -export -in "path.p12" -out "newfile.pem"
하지만 오류가 발생합니다.
unable to load private key
OpenSSL을 사용하여 PKCS # 12 저장소에서 PEM의 인증서를 어떻게 추출합니까?
시험:
openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes
그 후 당신은 :
- newfile.crt.pem의 인증서
- newfile.key.pem의 개인 키
인증서와 키를 같은 파일에 넣으려면 다음을 사용하십시오.
openssl pkcs12 -in path.p12 -out newfile.pem
명령 행에서 직접 PKCS # 12 비밀번호를 입력해야하는 경우 (예 : 스크립트) -passin pass:${PASSWORD}
다음을 추가하십시오 .
openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys -passin 'pass:P@s5w0rD'
비밀번호 만 입력하면됩니다. 다음 구문을 사용하여 동일한 명령 줄에서 수행 할 수 있습니다.
openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password]
그러면 출력 파일에서 개인 키를 암호화하기위한 비밀번호를 묻는 메시지가 표시됩니다. 개인 키를 암호화되지 않은 (일반 텍스트) 내보내려면 위의 줄에 "노드"옵션을 포함하십시오.
openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password] -nodes
추가 정보 : http://www.openssl.org/docs/apps/pkcs12.html
파이썬을 사용할 수 있다면 pyopenssl
모듈 이 있으면 더 쉽습니다 . 여기있어:
from OpenSSL import crypto
# May require "" for empty password depending on version
with open("push.p12", "rb") as file:
p12 = crypto.load_pkcs12(file.read(), "my_passphrase")
# PEM formatted private key
print crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey())
# PEM formatted certificate
print crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate())
PFX 파일이 있고 NGINX 용 KEY 파일을 만들어야했기 때문에 다음과 같이했습니다.
openssl pkcs12 -in file.pfx -out file.key -nocerts -nodes
그런 다음 KEY 파일을 편집하고까지 모든 내용을 제거해야했습니다 -----BEGIN PRIVATE KEY-----
. 그 후 NGINX는 KEY 파일을 수락했습니다.
참고 URL : https://stackoverflow.com/questions/15144046/converting-pkcs12-certificate-into-pem-using-openssl
'Programing' 카테고리의 다른 글
Windows 배치 파일에서 시스템 환경 변수를 설정 하시겠습니까? (0) | 2020.05.18 |
---|---|
여러 패턴을 한 번에 sed로 바꾸는 방법은 무엇입니까? (0) | 2020.05.18 |
로딩 상태에있을 때 버튼에 스피너 아이콘을 추가하는 방법은 무엇입니까? (0) | 2020.05.17 |
잡히지 않은 TypeError : 정의되지 않은 'msie'속성을 읽을 수 없습니다-jQuery 도구 (0) | 2020.05.17 |
iOS 8을 사용하는 iPad에서 UIAlertController를 올바르게 표시 (0) | 2020.05.17 |