私は、秘密鍵は、OpenSSLで作られたし、このようにRSAで暗号化されました:これはどのプライベートキー形式ですか?
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQILJ8rNTk54VICAggA
MBQGCCqGSIb3DQMHBAiXuThuf12hMwSCBMhrm8H2j7yzLBOIvSWbLoyUmIn7e9zA
6PLDzj1dos+h+wAkPN0IgJlkdoBBXlnF7tzGdoctOYOKiu/p+HLzMnvHaDfNSFwz
5zx4yyZsKtf90gT6IVuJy7TMiLK3gk4gdZJc820OeRr1FjdRV3iVpTXbVfpwG/B3
IbV0PX3ZaHeR1m8vWI0/XQB7ZL7lLT+3MO66X/PAMTPA9joFMxuPFasIb2uXSqe/
CJNOyY4iW89uYHFiOe53e4ggUdT/rupoR4OSNKKEH5f1y+FIuH1xNvlmi14hJn+k
KOOi89vVIcvh4abCM+jhYwpPOGB8Sz2bAXsYocgZPvKtKakHlis7RcSsd5Usx9Nt
tgQ=
-----END ENCRYPTED PRIVATE KEY-----
そして私はuser.key
ファイルにそれを保存してきました。
実際には、私はCMSの暗号化と復号化プロジェクトをobjective-cで実装しています。今私は、証明書、秘密鍵などを使用して私の暗号化されたコンテナファイルを解読しようとしています... OpenSSLのどのメソッドをEVP_PKEY
オブジェクトに上記のキーをロードするかを選択する必要があります少し混乱しています。
- FORMAT_ASN1
- FORMAT_PEM
- FORMAT_PKCS12
- FORMAT_MSBLOB私はそれが
PEM
とではないことを知っている - FORMAT_PVK
:
それは以下のフォーマットに私を示唆します3210。私はASN1
またはPVK
と推測しますが、実際にはわかりませんが、OpenSSLのドキュメントでこれに関する詳細情報は見つかりませんでした。
上記のキーのフォーマットは誰でも教えてください。
EDIT: はもう少し私の質問を指定するには:私はBIO
にロードされ、前述のキーを持っています。私はこのBIO
をBIO_read(keybio, ...)
で正常に読み取ることができ、それにキー(ascii)が含まれています。今私はこのBIO
からEVP_PKEY
を得たいと思っています。 私は...
EVP_PKEY *key = PEM_read_bio_PrivateKey(keybio, NULL, 0, NULL);
を試してみた...しかし、これは動作しません。私がこれを呼び出すと、コンソールにパスフレーズを入力するように求められます。私がこれを行うと、鍵はNULL
になります。 : -/
私は鍵が** **パスワードで保護されていない場合、それが動作することがわかりました。本当に奇妙な...この問題についての記事もありますが、答えはありません。これはOpenSSLライブラリのバグでしょうか? – Chris