我有一個循環,每30秒運行一次,連接到SSL服務器(reactor.connectSSL()),發送消息(self.transport.write(msg)),然後斷開連接self.transport.loseConnection())。只輸入一次PEM密碼短語
問題是每次循環嘗試連接時都會詢問「輸入PEM密碼短語」。是否可以只輸入一次?
我有一個循環,每30秒運行一次,連接到SSL服務器(reactor.connectSSL()),發送消息(self.transport.write(msg)),然後斷開連接self.transport.loseConnection())。只輸入一次PEM密碼短語
問題是每次循環嘗試連接時都會詢問「輸入PEM密碼短語」。是否可以只輸入一次?
我最終發現這篇文章:Auto enter pass phrase in case of Python ssl Client/Server他們建議您從密鑰中刪除密碼短語。
正如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_unencrypted.pem
年底:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
如果使用文件foo_unencrypted.pem
,你現在不再提示「輸入PEM密碼短語」。