我正在尝试访问需要客户端证书的端点。我从 .p12 开始,我可以快速将其导入 Google Chrome,并且可以成功访问端点。所以客户端证书和端点是兼容的。
但是,我正在努力让 Python Requests 模块(使用 Python 2.7)成功访问同一个端点。
我的步骤是:
openssl pkcs12 -in my.p12 -out certificate.pem –nodes
提示我输入密码,然后创建 certificate.pemprint(requests.get("<https://endpoint>", cert="certificate.pem").content)
返回您无权访问此服务器上的“http”。(以及 403 的 HTTP 响应)
我的PEM 文件包含三组-----BEGIN CERTIFICATE-----
. -----BEGIN PRIVATE KEY-----
所有 4 BEGIN 前面都有 Bag Attributes - 删除这些行没有任何区别。
我正在使用 Ubuntu VM 创建密钥,但从 Windows 机器上运行 Python - 不确定这是否会有所不同。
我欢迎任何想法;特别是要了解问题是否与转换为 PEM 相关,或者是否与请求调用有关。