Python SSL 与 PKCS#12 证书

4 投票
1 回答
7774 浏览
提问于 2025-04-16 08:09

有没有办法在Python 2.6中使用ssl模块,通过一个pkcs#12文件来给socket连接加上SSL保护?这个文件里包含了私钥和证书。我想在连接的客户端使用它们。这篇帖子似乎暗示这可能是可行的,但没有给出明确的答案。

1 个回答

2

用Python的ssl模块是无法做到这一点的。目前,M2Crypto也做不到,python-gnutls同样不行。如果你的客户端机器上有openssl命令的话,可以通过运行openssl命令将pkcs12格式转换成pem格式,然后使用转换后的结果,类似这样:

openssl pkcs12 -in your_pkcs.p12 -out client_certs.pem -clcerts -nokeys [password options]
openssl pkcs12 -in your_pkcs.p12 -out keys.pem -nocerts [password options]

不过,PKCS12格式从设计上来说是完全有问题的,虽然它仍然很流行,但如果可以的话,最好避免使用它。

撰写回答