使用OpenSSL解析CRL

时间:2018-10-03 10:08:59

标签: openssl certificate pyopenssl

使用下面的代码片段,我可以从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

1 个答案:

答案 0 :(得分:0)

通过pyopenssl公开的类是有限的,通常最好从幕后使用的cryptography模块切换到功能更强大的类。例如,对于CRL,您可以通过记录在cryptography.x509.CertificateRevocationList中的to_cryptography()方法访问类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