web-dev-qa-db-ja.com

PEM形式のファイルに保存されている秘密キーを復号化する方法

RSA秘密鍵を保管するシステムを管理しています。
ユーザーは、暗号化されたテキストまたはクリアテキストのいずれかでキーを挿入できます(ただし、常にPEMです)。ユーザーはパスフレーズも挿入します。

openSSL API(CLIではない)を使用して、2つの質問があります。

  1. pEMキーを受信し、キーが暗号化されている場合に返すAPIがありますか
  2. 暗号化されたキー(PEM形式)+パスフレーズを受け取り、暗号化されていないキーを返すAPIはありますか?

例やウィキをたくさん見ていましたが、必要なものが見つかりませんでした

アミガル

2
amigal

上手...

sjoerdが答えを提案しているように、PEM_write_(bio_)PrivateKey関数がその役割を果たします。

pEM_read_(bio_)PrivateKeyを呼び出すとき、openSSLはキーをクリアに保つように見えます(関数が暗号化されたキーを含むファイルを取得する場合、暗号化に使用されるパスフレーズが必要です...)。

今、それはすべてPEM_write_(bio_)PrivateKeyに与えられるパラメータについてです:
1。パスフレーズが指定されている場合、キーは指定されたパスフレーズで暗号化され、ファイルにコピーされます。
2。パスフレーズが指定されていない場合、鍵はファイルにコピーされます。

0
amigal