Python:将 X509 证书的颁发者 CN 值存储为字符串

标签 python cryptography pycharm x509

我正在使用以下代码:

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 变量如下:
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 查询.

关于Python:将 X509 证书的颁发者 CN 值存储为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63489188/

相关文章:

python - 求和一列值,包括 Python 中的字母

python - 如何在单个数据框中合并具有相同索引的行?

python - Next on generators 不会从上次调用恢复

hash - 如何从sha512消化物中提取盐?

linux - TPM/TSS Linux API 替代方案

python - 我怎样才能告诉 PyCharm 参数应该是什么类型?

python - 如何将 PyCharm 与 PySpark 链接?

python - Numpy dtype - 不理解的数据类型

python - Charm Crypto 中椭圆曲线上的恒等元素是什么?

pycharm - 如何使用 virtualenv 配置 pycharm 远程解释器