[英]How to extract the Signature from an x509 Certificate
我正在嘗試從加載的 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 的實例
有點迂回,但我將證書轉換為加密證書對象以訪問簽名:
cryptCert = cert.to_cryptography()
打印十六進制(cryptCert.signature)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.