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의 인증서를 어떻게 추출합니까?
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
그 후 당신은 :
인증서와 키를 같은 파일에 넣으려면 다음을 사용하십시오.
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 -in path.p12 -out newfile.pem
비밀번호 만 입력하면됩니다. 다음 구문을 사용하여 동일한 명령 줄에서 수행 할 수 있습니다.
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
파이썬을 사용할 수 있다면 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())
file
하지 않고 사용하여 파일을 열 이유가 open
있습니까? 나는 나중에 그것을 사용할 것이므로 이해하고 싶습니다 (
open("push.p12", 'rb').read()
.
with open("push.pem", "wb") as fobj: fobj.write(crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate()))
인증서를 작성 with open("push.key", "wb") as fobj: fobj.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey()))
하고 키 를 작성하십시오 .
비밀번호가없는 PEM 파일이 필요한 경우이 솔루션을 사용할 수 있습니다 .
개인 키와 인증서를 복사하여 동일한 파일에 붙여넣고 .pem으로 저장하십시오.
파일은 다음과 같습니다.
-----BEGIN PRIVATE KEY-----
............................
............................
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...........................
...........................
-----END CERTIFICATE-----
이것이 HTTPS 용 Cisco 장치에 인증서를 업로드하는 유일한 방법입니다.