是否可以使用python从现有证书中提取subject key identificator?
我试过像:
from OpenSSL.crypto import load_certificate, FILETYPE_PEM
cert_string='-----BEGIN CERTIFICATE--...'
certificate=load_certificate(FILETYPE_PEM, plain_cert)
subject=certificate.get_subject()
但它回复了证书的主题。似乎证书对象不提供主题密钥标识符的功能。还有其他选择吗?
答案 0 :(得分:3)
将提取主题密钥标识符的代码:
from cryptography import x509
from cryptography.hazmat.backends import default_backend
cert = x509.load_pem_x509_certificate(pem_data, default_backend())
ski = cert.extensions.get_extension_for_oid(x509.oid.ExtensionOID.SUBJECT_KEY_IDENTIFIER)
print(ski.value.digest)
答案 1 :(得分:1)
subject=certificate.get_extension(0)
完成了这项工作。随着
certificate.get_extension_count()
您可以查看证书的扩展程度。