我有一个循环,每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密码短语”。