我设置了一个 Web 服务器,该服务器拒绝没有有效 .p12 证书的连接。我需要通过 Python 脚本访问在服务器上运行的 REST API,但我找不到有关如何执行此操作的任何信息。如果有人有关于如何在 Python 中使用 .p12 证书执行 SSL 握手的好教程,请告诉我。
答案中描述的方法相同这个问题,它询问在 HTTPS 连接期间验证服务器证书(默认情况下根本不这样做)urllib
or httplib
) 应该允许您指定除 CA 证书列表之外的客户端证书。
- 如果您选择该选项基于ssl.wrap_socket,通过一个
cerfile
/keyfile
参数如文档中所述。
- 使用 PycURL,你应该能够调用
setopt(pycurl.SSLCERT, "/path/to/cert.pem")
and setopt(pycurl.SSLKEY, "/path/to/key.pem")
。选项名称基于SSL 和安全选项cURL 文档的部分(还有一个密码选项)。
您可能必须转换您的 PKCS#12 (.p12
) 文件转换为 PEM 格式。为此:
# Extract the certificate:
openssl pkcs12 -in filename.p12 -nokeys -out certificate.pem
# Extract the private key:
openssl pkcs12 -in filename.p12 -nocerts -out privkey.pem
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)