在 Python 中使用动态创建的自签名证书而不触及文件系统

Using dynamically created self signed certs in Python without touching the file system

所以我在 python 中有一个动态生成的自签名证书,我想将它传递给 ssl.wrap_socket 但看起来该函数只接受文件名作为参数。

我知道我可以将文件写入磁盘然后读回然后删除它,我也在 Linux 上 运行 所以我可以将它写入 /run/user/1000/所以它不必接触真正的驱动器,但是,这仍然感觉不对。有人有办法完全绕过文件生成步骤吗?

httpd.socket = ssl.wrap_socket (httpd.socket, certfile="cert.pem", server_side=True)

谢谢!

没有

不幸的是,SSL 库似乎不支持它。您可以在此处查看您正在调用的方法的源代码:

https://github.com/python/cpython/blob/master/Lib/ssl.py#L1131

似乎证书文件名称一直传递到处理 SSL 的 C 代码(您可以通过上述文件中的几个函数调用来跟踪证书文件参数):

https://github.com/python/cpython/blob/master/Modules/_ssl.c#L3240

对不起!!