作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有代码可以浏览我的 wincertstore
并按名称和/或指纹查找证书。
if os.name == 'nt':
for storename in ["MY"]: # "ROOT", "CA",
with wincertstore.CertSystemStore(storename) as store:
for cert in store.itercerts(usage=wincertstore.CLIENT_AUTH):
print(cert.get_name())
print(cert.cert_type)
print(cert.enhanced_keyusage_names())
# pem = cert.get_pem()
# encodedDer = ''.join(pem.split("\n")[1:-2])
# cert_bytes = base64.b64decode(encodedDer)
cert_pem = ssl.DER_cert_to_PEM_cert(cert.get_encoded())
cert_details = x509.load_pem_x509_certificate(
cert_pem.encode('utf-8'), default_backend()
)
serial_number = hex(cert_details.serial_number).replace("0x", "")
cert_details.fingerprint
if cert.get_name().lower() == find_name.lower():
pem_data = cert.get_pem()
break
if pem_data:
f = open('./mycert.pem', 'w')
f.write(pem_data)
f.close()
del f
import requests
resp = requests.get(<some url>, cert='./mycert.pem')
这给出了 SSL 错误:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='*****.e***.com', port=443): Max retries exceeded with url: /gis/sharing/rest/portals/self/servers?f=json (Caused by SSLError(SSLError(9, '[SSL] PEM lib (_ssl.c:3932)')))
那么我还需要从窗口的证书存储中提取什么来传递客户端证书?
最佳答案
我认为您可能在 urllib3 上遇到错误尝试将其更新到最新版本:
https://pypi.org/project/urllib3/#changes
关于python - 使用 openssl、requests 和 wincertstore 获取客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68211811/
我正在尝试通过请求包连接到我公司的内部网页,但由于 python 不使用 Windows 默认可信证书,因此连接被拒绝。我发现 wincertstore 可用于获取 Windows 默认证书。但我仍然
我有代码可以浏览我的 wincertstore并按名称和/或指纹查找证书。 if os.name == 'nt': for storename in ["MY"]: # "ROOT", "C
我正在尝试使用 wincertstore 将 Internet Explorer (IE) 证书传递给 requests 以便下载文件。我的代码是: import requests import wi
我是一名优秀的程序员,十分优秀!