【问题标题】:Python: store Issuer CN value of X509 Certificate as a stringPython:将 X509 证书的颁发者 CN 值存储为字符串
【发布时间】:2020-12-08 20:27:47
【问题描述】:

我正在使用以下代码:

from cryptography import x509
from cryptography.hazmat.backends import default_backend
cert_info = x509.load_pem_x509_certificate(cert_pem, default_backend())
cert_issuer = cert_info.issuer

在 PyCharm 中调试时,我看到 cert_issuer 变量如下:

我想将 commonName 值存储在一个变量中。 (上面突出显示的值)

我对 Python 还是很陌生,无法找到具有这些类型变量的任何内容,有人可以指导我将那个值存储在变量中的语法应该是什么。

【问题讨论】:

    标签: python cryptography pycharm x509


    【解决方案1】:

    发行人的通用名(CN)可以如下确定:

    ...
    from cryptography.x509.oid import NameOID
    cn = cert_info.issuer.get_attributes_for_oid(NameOID.COMMON_NAME)[0].value
    ...
    

    cryptography.x509.Certificate#issuer 返回一个包含属性列表的cryptography.x509.Name 对象。可以使用get_attributes_for_oid(oid) 访问此列表的特定属性,其中必须使用来自cryptography.x509.oid.NameOID 的 OID 指定属性名称,例如COMMON_NAME。 get_attributes_for_oid(oid) 返回cryptography.x509.NameAttributes 对象的列表。由于只有一个Issuer,所以必须使用第一个NameAttribute对象,其值可以通过value查询。

    【讨论】:

      猜你喜欢
      • 2012-03-25
      • 1970-01-01
      • 2013-07-09
      • 2021-04-22
      • 1970-01-01
      • 2021-11-13
      • 2020-08-06
      • 2021-03-28
      • 1970-01-01
      相关资源
      最近更新 更多