gpt4 book ai didi

python - 如何使用 Python::Windows 列出和读取所有已安装的证书 (SSL)

转载 作者:行者123 更新时间:2023-12-04 22:36:58 59 4
gpt4 key购买 nike

需要你的帮助来用 python 编写代码,它将返回我当前系统中所有已安装证书的列表(这些证书列在证书管理器中(运行 -> certmgr.msc.))。请帮助我理解,如何在 python 列表中检索所有已安装的证书,然后检查证书是否有效或已过期。

我使用 certifi(内置库)检索列表,但它没有显示我计算机上安装的所有证书。

import certifi
from cryptography import x509
from cryptography.hazmat.backends import default_backend


list_of_cert = certifi.contents().split("\n\n")

for cert in list_of_cert:
details = x509.load_pem_x509_certificate(cert.encode('utf-8'), default_backend())
print (details.issuer, details.not_valid_after)

提前致谢

最佳答案

问题是 certifi 库不从 Windows 证书库返回证书。根据其 documentation :

Certifi provides Mozilla’s carefully curated collection of Root Certificates for validating the trustworthiness of SSL certificates while verifying the identity of TLS hosts.

这应该给你你要找的东西:

import ssl
from cryptography import x509

for store in ["CA", "ROOT", "MY"]:
for cert, encoding, trust in ssl.enum_certificates(store):
certificate = x509.load_der_x509_certificate(cert, backend=None)
print(certificate.issuer, certificate.not_valid_after)

关于python - 如何使用 Python::Windows 列出和读取所有已安装的证书 (SSL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67724145/

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