问题:Python请求CA证书作为字符串

目前我们正在使用一种将 CA 证书放在服务器上以访问第三方 API 的方法。

certificate_path = os.path.join(CERT_PATH, 'cacert.pem')
certificate_key_path = os.path.join(CERT_PATH, 'cacert.key')
response = requests.get(url, cert=(certificate_path, certificate_key_path))

这可行,但我们正在寻找而不是将CA证书存储在服务器上,出于安全目的(客户提出的安全原因)存储在数据库中的Accounts表中。

所以问题是:

  • 有什么方法可以直接将 CA 证书的字符串直接传递给requests(除了将内容写入临时文件)?

  • 是否有任何其他httppython 模块支持在httpget/post 请求中传递 CA 证书的字符串?

  • 除了将它们存储在数据库和服务器上之外,我们还应该使用其他方法吗?

解答

如果想在不使用临时文件的情况下执行此操作,则可以通过覆盖请求 SSLContext。示例可以在这个答案中看到。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐