Python ssl module error: AttributeError: module 'ssl' has no attribute 'enum_certificates'

Python ssl module error: AttributeError: module 'ssl' has no attribute 'enum_certificates'

我正在尝试使用 python 来列出我机器中安装的已安装证书。我正在使用 python 3.6.8。我正在使用下面的代码。它在 Windows 中有效,但在 CentOS 中失败:

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)

CentOS 错误是:

AttributeError: module 'ssl' has no attribute 'enum_certificates'

这很奇怪,因为 ssl 模块的文档说 enum_certificates 方法是 added in version 3.4。它应该存在。

如何列出已安装的证书?

enum_certificates 属性仅在 Windows 上可用。在你的 link 中,就在 New in version 3.4. 的上方,上面写着 Availability: Windows.