7

次のコマンドを使用して、DES3 を使用してパスワードで保護された RSA キーを作成できました (まあ...私はこの暗号化の世界に非常に慣れていないためだと思います)。

openssl genrsa -out "/tmp/myKey.pem" -passout pass:"f00bar" -des3 2048

可能であれば、PyCrypto を使用して、Python スクリプト内でそれを実行したいと考えています。このメッセージを見たことがありますが、これは PyCrypto を使用してそれを行うことを思いとどまらせているようです。今でもそうですか?

もちろん、いつでも を呼び出しos.executeて上記のコマンドを実行することはできますが、それは「不正行為」だと考えています:-) . 私は PyCrypto を学ぶためにこれをやっています。

前もって感謝します。

4

1 に答える 1

6

PyCrypto 2.5 以降では、RSA 秘密鍵をエクスポートして、パスフレーズで保護することができます。トリプル DES キーは、パスフレーズから内部的に導出され、実際の暗号化を実行するために使用されます。

例えば:

from Crypto import RSA
from Crypto import Random

random_generator = Random.new().read
key = RSA.generate(1024, random_generator)
exportedKey = key.exportKey('PEM', 'my secret', pkcs=1)

この変数には、PKCS#1 (暗号化標準。もう 1 つのオプションは- 推測 - PKCS#8)exportedKeyに従ってエンコードされたキーの ASCII バージョン (PEM) が含まれています。pkcs=8結果は標準的なので、openssl を含む他のいくつかのプログラムで使用できます。そしてもちろん、PyCrypto 経由で Python に再インポートすることもできます!

exportKeyメソッドはここに文書化されています

于 2012-04-02T19:46:51.433 に答える