我正在使用python,pyopenssl库来验证CRL与它的CA。
我所拥有的是:
我得到了证书颁发机构:
with open(ca_file_path) as ca_file_obj:
ca = crypto.load_certificate(crypto.FILETYPE_PEM, ca_file_obj.read())我得到了CRL:
with open(crl_file_path) as crl_file_obj:
crl = crypto.load_crl(crypto.FILETYPE_PEM, crl_file_obj.read())如何验证CRL是否属于CA,我知道可以用openssl来完成,但是如何用纯python代码来解决这个问题,而不用打开openssl作为子进程?有没有人有想法?
发布于 2017-10-19 00:30:45
通过使用pyopenssl,您可以执行以下操作:
# Export CRL as a cryptography CRL.
crl_crypto = crl.to_cryptography()
# Get CA Public Key as _RSAPublicKey
ca_pub_key = ca.get_pubkey().to_cryptography_key()
# Validate CRL against CA
valid_signature = crl_crypto.is_signature_valid()考虑到检查CRL上的签名的有效性不足以知道CRL是否应该被信任(参见RFC 5280)
https://stackoverflow.com/questions/41977838
复制相似问题