我正在使用requests连接到一个REST API,我有一个证书束和一个.pem密钥,用于身份验证。这些证书和代码在我的Ubuntu机器上运行良好,所以我知道这些证书是有效的。
我在Linux上设置时遇到了类似的问题,当我将证书放在etc/pki/tls/certs中时,异常被抛出。但是当我将这些证书移到etc/ssl/certs中时,一切正常。
需要明确的是,我已经为这些证书的目录进行了哈希处理,虽然我不确定哈希的重要性。
因此,我的问题是:在Windows上应该把这些证书放在哪里?
下面是代码片段:
我在Linux上设置时遇到了类似的问题,当我将证书放在etc/pki/tls/certs中时,异常被抛出。但是当我将这些证书移到etc/ssl/certs中时,一切正常。
需要明确的是,我已经为这些证书的目录进行了哈希处理,虽然我不确定哈希的重要性。
因此,我的问题是:在Windows上应该把这些证书放在哪里?
下面是代码片段:
import requests
private_key = '\path\to\private\key.pem'
cert_bundle = '\path\to\bundle'
url = 'https://www.securedsite.com/api-entry'
session = requests.Session()
session.cert = private_key
session.verify = cert_bundle
try:
resp = session.post(url)
except:
# Exception
我目前在Windows上拥有的证书:
'C:\stuff\admin\private\core_admin.pem'
'C:\stuff\admin\certs\'
软件版本:
- Windows 10
- Python 3.6.3
- requests 2.18.4
- openssl 1.0.2l
供参考,Linux机器为:
- Ubuntu 16.04.1 4.13.0-39-generic
- Python 3.6.3
- requests 2.18.4
- openssl 1.0.2l
在代码中,我使用pathlib的Path来构建路径,以便在Linux和Windows之间切换,并且所有东西都在Linux上工作。 我认为我只需要指导一下在哪里放置我的证书。