如何解决Python:将X509证书的Issuer CN值存储为字符串
我正在使用以下代码:
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还是很陌生,无法使用这些类型的变量查找任何内容,有人可以指导我将值存储在变量中的语法是什么。
解决方法
发行人的通用名称(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
来查询其值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。