TLS在扭曲的Python - 如何创建server.pem?(TLS in Twisted Py

2019-10-20 23:45发布

我刚刚发现扭在Python,并一直在寻找的echoserv_ssl.py样品在这里找到: https://twistedmatrix.com/documents/14.0.0/core/howto/ssl.html 。 只是上面的示例代码,页面引用“下面的例子依赖于文件server.pem(私钥和自签名证书一起)和public.pem(本身服务器的公钥证书)。”

所以,作为一个新手的东西,当涉及到SSL证书和密钥,我做了一些研究,发现http://www.thegeekscope.com/how-to-generate-self-signed-ssl-certificate-in-linux/

我跟着指示那里,指着我的echoserv_ssl.py在创建的文件(步骤3)。 但是,与任何我们在当地有我们的系统中的证书文件一起好像产生了同样的错误:

# python echoserv_ssl.py
2014-09-17 15:12:54+0000 [-] Log opened.
2014-09-17 15:12:54+0000 [-] Traceback (most recent call last):
2014-09-17 15:12:54+0000 [-]   File "echoserv_ssl.py", line 23, in <module>
2014-09-17 15:12:54+0000 [-]     task.react(echoserv_ssl.main)
2014-09-17 15:12:54+0000 [-]   File "/usr/lib64/python2.6/site-packages/twisted/internet/task.py", line 875, in react
2014-09-17 15:12:54+0000 [-]     finished = main(_reactor, *argv)
2014-09-17 15:12:54+0000 [-]   File "/root/Robot/Twisted/echoserv_ssl.py", line 16, in main
2014-09-17 15:12:54+0000 [-]     certificate = ssl.PrivateCertificate.loadPEM(certData)
2014-09-17 15:12:54+0000 [-]   File "/usr/lib64/python2.6/site-packages/twisted/internet/_sslverify.py", line 619, in loadPEM
2014-09-17 15:12:54+0000 [-]     return Class.load(data, KeyPair.load(data, crypto.FILETYPE_PEM),
2014-09-17 15:12:54+0000 [-]   File "/usr/lib64/python2.6/site-packages/twisted/internet/_sslverify.py", line 725, in load
2014-09-17 15:12:54+0000 [-]     return Class(crypto.load_privatekey(format, data))
2014-09-17 15:12:54+0000 [-]   File "build/bdist.linux-x86_64/egg/OpenSSL/crypto.py", line 2010, in load_privatekey
2014-09-17 15:12:54+0000 [-]   File "build/bdist.linux-x86_64/egg/OpenSSL/_util.py", line 22, in exception_from_error_queue
2014-09-17 15:12:54+0000 [-] OpenSSL.crypto.Error: []

这个相当空的错误代码似乎并不认为信息给我。 谁能解释我要去哪里错了吗?

谢谢!

Answer 1:

有很多方法可以做到这一点,因为你可能已经注意到。

巧合的是,我不得不产生一个密钥和自签名证书只是一对夫妇天前。 我决定保存代码(并检查它在给扭曲),而不是失去它而不得不过后重建。 也许它会帮助你:

https://twistedmatrix.com/trac/browser/trunk/twisted/test/server.pem

正如我所说,这是远不是唯一的办法做到这一点,可能几乎没有最好的方式,无论是。 不过,我敢肯定,它的工作原理(生成的证书被扭曲的TLS测试套件使用)。

请注意,该文件是一个可运行的Python程序(运行它会产生一个新的密钥和证书),并包含了一个私有密钥和证书的可加载PEM文件。



文章来源: TLS in Twisted Python - How to create server.pem?