HTTPS握手在Python密钥库(https handshake with keystores i

2019-06-25 08:04发布

我已经建立了一个网络服务器,它拒绝连接,没有有效的.p12证书。 我需要访问在Python脚本在服务器上运行的REST API,但我无法找到如何做任何事情。 如果任何人有关于如何执行使用Python中的.p12证书的SSL握手一个很好的教程,请让我知道。

Answer 1:

在答案中所描述的相同的方法这个问题 ,它要求对HTTPS连接期间验证服务器证书(这不是做在所有默认urllibhttplib )应允许您除了CA指定客户证书证书列表。

  • 如果你选择基于期权ssl.wrap_socket ,传递cerfile / keyfile ,如文档中描述的参数。
  • 使用PycURL,你应该能够调用setopt(pycurl.SSLCERT, "/path/to/cert.pem")setopt(pycurl.SSLKEY, "/path/to/key.pem") 选项的名称是基于卷曲文档的SSL和安全选项部分 (有口令的选项也是如此)。

这可能是因为你将不得不转换您的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


文章来源: https handshake with keystores in Python