我正在尝试从加载的 x509 证书中提取签名。我提取了其他所有内容(发行者、主题、PEM、SignatureAlgorithm 等)。我已经搜索过这个,但没有找到。任何帮助将不胜感激!
from OpenSSL import crypto
certobj = crypto.load_certificate(crypto.FILETYPE_ASN1, cert)
issuer = certobj.get_issuer()
subject = certobj.get_subject()
certDetails = {
"SerialNumber": certobj.get_serial_number(),
"Signature": None, # <-- This is what I am trying to get!
"SignatureAlgorithm": certobj.get_signature_algorithm(),
"CertificatePEM": crypto.dump_certificate(crypto.FILETYPE_PEM, certobj),
"SubjectPublicKeyPEM": crypto.dump_publickey(crypto.FILETYPE_PEM, certobj.get_pubkey()),
"Version": certobj.get_version()
}
请您参考如下方法:
我知道自问这个问题以来已经有一段时间了,但是对于任何需要的人来说,有两个选择,
signing_algo = cert_obj.signature_hash_algorithm.name
或
signing_algo = cert_obj.signature_algorithm_oid._name
cert_obj 是 cryptography.x509.Certificate 的实例
