6

30秒ごとに実行され、SSLサーバーに接続し(reactor.connectSSL())、メッセージを送信し(self.transport.write(msg))、切断する(self.transport.loseConnection())ループがあります。

問題は、ループが接続を試みるたびに「EnterPEMpassphrase」を要求することです。一度だけ入力することはできますか?

4

3 に答える 3

11

Mikaelが提案したように、キーからパスフレーズを削除できます。これは重大なセキュリティリスクをもたらすことに注意してください。

キーからパスフレーズを削除するには、次の手順を実行します。foo.pem次の内容で呼び出されたファイルがあるとします。

-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

次のコマンドを実行します。

openssl rsa -in foo.pem -out foo_unencrypted.pem

パスフレーズの入力を求められ、その代わりfoo_unencrypted.pemに次のファイルを受け取ります。

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

このファイルにはBEGIN CERTIFICATE ---- END CERTIFICATE上からのセクションがないので、コピーしてからfoo.pem最後まで貼り付けてfoo_unencrypted.pemください。

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

このファイルを使用する場合、foo_unencrypted.pem「PEMパスフレーズを入力してください」というプロンプトが表示されなくなります。

于 2014-01-03T16:17:07.127 に答える
1

私は最終的にこの投稿を見つけました:Python sslクライアント/サーバーの場合はパスフレーズを自動入力し、キーからパスフレーズを削除するように提案します。

于 2012-04-09T10:38:08.403 に答える
0

コマンドを実行しようとしましたが、実行できません。それでも、私のアプリケーションは、起動するたびにPEMパラフレーズを要求しています。

$ openssl rsa -in chatbot.key -out chatbot.unprotectedkey
Enter pass phrase for chatbot.key:
unable to load Private Key
33432:error:0607607D:digital envelope routines:PKCS5_v2_PBE_keyivgen:unsupported prf:p5_crpt2.c:230:
33432:error:06074078:digital envelope routines:EVP_PBE_CipherInit:keygen failure:evp_pbe.c:101:
33432:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:p12_decr.c:83:
33432:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:123:
33432:error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:125:
于 2020-03-14T20:33:34.157 に答える