Python 如何从x509证书中提取签名

Python 如何从x509证书中提取签名,python,openssl,x509,pyopenssl,Python,Openssl,X509,Pyopenssl,我正在尝试从加载的x509证书中提取签名。我还有其他的东西,包括发行人、主题、PEM、签名算法等等。我已经搜索过了,但是没有找到。任何帮助都将不胜感激 from OpenSSL import crypto certobj = crypto.load_certificate(crypto.FILETYPE_ASN1, cert) issuer = certobj.get_issuer() subject = certobj.get_subject() certDetails = {

我正在尝试从加载的x509证书中提取签名。我还有其他的东西,包括发行人、主题、PEM、签名算法等等。我已经搜索过了,但是没有找到。任何帮助都将不胜感激

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()
}

有点迂回,但我将证书转换为加密证书对象以访问签名:

cryptCert=cert.to\u加密


打印hexlifycryptCert.signature有点迂回,但我将证书转换为加密证书对象以访问签名:

cryptCert=cert.to\u加密


打印hexlifycryptCert.signature

我知道问题提出已经有一段时间了,但对于其他需要的人,有两种选择

signing_algo = cert_obj.signature_hash_algorithm.name


cert_obj是密码学的一个实例。x509。Certificate

我知道这个问题已经问了很久了,但是对于其他需要的人,有两种选择

signing_algo = cert_obj.signature_hash_algorithm.name


cert_obj是密码学的实例。x509。证书

您正在查找公钥吗?这就是允许您向CA发送可信消息的原因:@Aaron No.我将公钥存储在certDetails.SubjectPublicKeyPEM中。我正在查找签名值本身。是否正在查找公钥?这就是允许您向CA发送可信消息的原因:@Aaron No.我将公钥存储在certDetails.SubjectPublicKeyPEM中。我正在寻找签名值本身。