使用 OpenSSL 解析 CRL
Parsing CRL using OpenSSL
使用下面的代码片段我可以从 CRL 证书中获取 CRL 对象:
import OpenSSL
with open('/Users/goutamdas/Desktop/Certificate/My_Certs/crl_ocsp.pem', 'r') as _crl_file:
crl = "".join(_crl_file.readlines())
print(crl)
crl_object = OpenSSL.crypto.load_crl(OpenSSL.crypto.FILETYPE_PEM, crl)
print("obj: ", crl_object)
现在我想从这个 CRL 文件中解析以下 2 个日期,看起来 OpenSSL 没有提供任何相关的提取方法。任何建议我如何做到这一点。
Last Update: Sep 17 18:01:34 2018 GMT
Next Update: Oct 17 18:01:34 2018 GMT
通过 pyopenssl
公开的 类 是有限的,您通常最好从 cryptography
module, which is used under the hood. For example, for CRLs, you can get access to the class cryptography.x509.CertificateRevocationList
, via the to_cryptography()
method documented here 切换到更强大的 类。它公开了您正在寻找的属性。继续您的操作:
ccrl_object = crl_object.to_cryptography()
print(ccrl_object.last_update)
print(ccrl_object.next_update)
产生类似于
的东西
2005-02-06 12:00:00
2005-02-05 12:00:00
使用下面的代码片段我可以从 CRL 证书中获取 CRL 对象:
import OpenSSL
with open('/Users/goutamdas/Desktop/Certificate/My_Certs/crl_ocsp.pem', 'r') as _crl_file:
crl = "".join(_crl_file.readlines())
print(crl)
crl_object = OpenSSL.crypto.load_crl(OpenSSL.crypto.FILETYPE_PEM, crl)
print("obj: ", crl_object)
现在我想从这个 CRL 文件中解析以下 2 个日期,看起来 OpenSSL 没有提供任何相关的提取方法。任何建议我如何做到这一点。
Last Update: Sep 17 18:01:34 2018 GMT
Next Update: Oct 17 18:01:34 2018 GMT
通过 pyopenssl
公开的 类 是有限的,您通常最好从 cryptography
module, which is used under the hood. For example, for CRLs, you can get access to the class cryptography.x509.CertificateRevocationList
, via the to_cryptography()
method documented here 切换到更强大的 类。它公开了您正在寻找的属性。继续您的操作:
ccrl_object = crl_object.to_cryptography()
print(ccrl_object.last_update)
print(ccrl_object.next_update)
产生类似于
的东西2005-02-06 12:00:00
2005-02-05 12:00:00