2016-08-24 2 views
0

개인 키 (매우 비밀은 아닙니다)가 pfx 형식 일 가능성이 큽니다. 서명에 사용하려면 그것을 pem 형식으로 변환해야합니다.pfx 형식의 개인 키를 pem 형식으로 변환하십시오.

키는 한 줄에 있습니다. 별도의 시작 및 끝 행이 없습니다. 그것은 한 줄로, base64로 인코딩되었고, 길이는 2284 글자 (이전에 보았던 일반 x.509보다 길다.). 나뿐만 아니라 등 일부 다른 변수를 가지고 :

씨 ID

내가이 생성되는 방법을 볼 수 있었다 호환성.

java.security.cert.X509Certificate

그런 다음 함수를 통해 PFX 형식으로 내 보냅니다.

그 기능 안에는 Keystore 인스턴스 "PKCS12"가 언급되어 있습니다. 또한 ByteArrayOutputStream이 표시됩니다.

어떻게하면이 한 줄의 base64 인코딩 개인 키를 pem 형식으로 변환 할 수 있습니까? 그 형식은 노드 모듈 xmlCrypto에 의해 받아 들여 져야합니다. 서명에 사용하고 있습니다. 현재 xmlCrypto는 다음과 같은 경고 메시지를 표시합니다.

Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag

답변

0

이 문제를 해결할 수있었습니다. 문제는 파일이 순수한 pfx 형식이 아니라는 것입니다. 하지만 그것은 base64로 인코딩 된 형식입니다. openssl 도구를 사용하여 파일을 pem 형식으로 변환하려면 먼저 파일을 원래 .pfx 형식으로 디코딩해야합니다. 온라인 암호 해독기를 사용하지 마십시오. 리눅스를 사용하면 이런 식으로 디코딩 할 수 있습니다 그 후

echo <the encoded pfx content> | base64 --decode > decoded-pfx-filename.pfx 

를 사용할 수있는 OpenSSL :

openssl pkcs12 -in decoded-pfx-filename.pfx -out cert-and-privkey-in-pem.pem -nodes 

그리고 당신은 완료

관련 문제