2016-08-24 25 views
0

私はpfx形式である可能性が高い秘密鍵(秘密ではない)を持っています。私はそれを署名の中で使うために、pem形式に変換する必要があります。pfx形式の秘密鍵をpem形式に変換する

キーは1行にあります。独立した開始行と終了行はありません。これは、base64でエンコードされた1行にあり、長さは2284文字です(私が以前見た普通のx.509よりも長い)。私はそれが作成されたかを確認することができました

シード ID 互換性

:私も含めていくつかの他の変数とそれを得ました。

java.security.cert.X509Certificate

次に、これは関数を使用してPFX形式にエクスポートされます。

この機能の中に、キーストアインスタンス「PKCS12」が記載されています。 また、ByteArrayOutputStreamが表示されます。

どのようにして、この1つの裏地付きのbase64でエンコードされた秘密鍵をpem形式に変換できますか?そのフォーマットは、私が署名に使用しているノードモジュールxmlCryptoで受け付ける必要があります。現在、xmlCryptoはキーで次の警告を出します。

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

答えて

0

これを解決できました。問題は、ファイルが純粋なpfx形式ではなかったことです。しかし、それはbase64でエンコードされた形式でした。 opensslツールの助けを借りてそれをpem形式に変換するには、最初にファイルを元の.pfx形式にデコードする必要があります。オンラインのデコーダを使用しないでください。 Linuxで、あなたはこのようにそれをデコードすることができます。その後

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 

そして完了です

関連する問題