私は、Java Bouncycastleを使用するクライアントとPython RSAライブラリを使用する鍵サーバーとの間で秘密鍵を交換するのが難しいです。 PEM形式は、REST経由でキーを転送するために使用されます。Bouncycastle暗号化された秘密鍵PEM出力:RSAプライベートキーとプライベートキー
-----BEGIN PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,ACCB65DDEB20F5AB
EcU3fekuLeUc0viPJ20vAG+Jg1Igkvm+JTjnLmMBE6SwDS/hkf3KP0bFto7Pv6fJ
しかしはBouncyCastleの出力を: キーサーバーは、私が供給しています(暗号化パスワードの変更に必要な)キーを解読することはできません、次のように、それはPEMとPKCS#1またはPKCS#8鍵を期待しています私はいくつかの研究を行ったように
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,ACCB65DDEB20F5AB
EcU3fekuLeUc0viPJ20vAG+Jg1Igkvm+JTjnLmMBE6SwDS/hkf3KP0bFto7Pv6fJ
が、私はPEMはRSA PRIVATE KEYは、PKCS#1を使用してエンコードされたキーを示しBEGIN開始することを学んだ:、JcePEMEncryptorBuilderとJcaMiscPEMGeneratorを使用すると、わずかに異なるBEGIN文字列を持っています。
私はJceOpenSSLPKCS8EncryptorBuilderとJcaPKCS8Generatorを使用してPKCS#8暗号化された出力を取得しようとすると、次のように私はPEMを得る:
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICrjAoBgoqhkiG9w0BDAEDMBoEFP+MLFFaKGC6J/37jF7wRgL3coZdAgIIAASC
AoAdWVo4kAQ1S0stQZbzca7wL876nzlKfcOa4BKsCttPnFVPugJOvGDnATgUK5P/
をだから私の質問は次のとおりです。と出力にPEMをはBouncyCastleを取得する方法がありますBEGIN PRIVATE KEY形式の暗号化された秘密鍵、または間違った形式を予期しているPythonライブラリですか?
次に、BouncycastleがJcePEMEncryptorBuilderでPKCS#1またはPKCS#8を使用しているかどうかを把握することはできません。 PrivateKeyInfo#getEncodedを使用していますが、PKCS形式についてのドキュメントが明確ではありません。
はBouncyCastleバージョン:bcpkix-jdk15on 1.52
私は、PythonのlibがPKCS#1形式のRSAキーの正しいヘッダーを期待していないと言います。 BCから「RSA」を取り除くと、サーバーはそれを受け入れますか? –
私は実際に運がないとそれを試みた;) –