gpt4 book ai didi

python-requests - Python 请求无法通过(转换后的)客户端证书获得成功响应

转载 作者:行者123 更新时间:2023-12-04 07:20:51 24 4
gpt4 key购买 nike

我正在尝试访问需要客户端证书的端点。
我从 .p12 开始,我可以快速导入到 Google Chrome,并且可以成功访问端点。所以客户端证书和端​​点是兼容的。

但是,我正在努力让 Python 请求模块(使用 Python 2.7)成功访问相同的端点。

我的步骤是:

  • openssl pkcs12 -in my.p12 -out certificate.pem –nodes提示我输入密码,然后创建 certificate.pem
  • print(requests.get("<https://endpoint>", cert="certificate.pem").content)返回您无权访问此服务器上的“http”。 (以及 403 的 HTTP 响应)

  • 我的 PEM 文件包含三组 -----BEGIN CERTIFICATE----- ,然后是 -----BEGIN PRIVATE KEY----- .
    所有 4 个 BEGIN 都以 Bag Attributes 开头——删除这些行并没有什么不同。

    我正在使用 Ubuntu VM 创建 key ,但从 Windows 机器上运行 Python - 不确定这是否会有所不同。

    我欢迎任何想法;特别是要了解问题是否与转换为 PEM 相关,或者是否与请求调用有关。

    最佳答案

    该错误并不表示客户端证书有问题。

    如果您的客户端证书是问题,文档建议您的错误将以“SSLError”为前缀:http://docs.python-requests.org/en/master/user/advanced/#client-side-certificates

    相关错误可能出现在您出于隐私原因而审查的部分。获得身份验证后,Web 服务器因其他原因拒绝您的请求。

    您可能正在调用 requests.get('https://website.com', ...
    您可能需要调用 requests.get('https://website.com/', ...
    或者直接请求网站内的文件资源。在使用 Chrome 进行测试时,当 Chrome 向 Web 服务器发出请求时,可能使用了未显示的尾随“/”。尝试将/添加到地址的末尾。

    当然,您不应该使用示例中显示的“<”>“标签。

    关于python-requests - Python 请求无法通过(转换后的)客户端证书获得成功响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49736889/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com