wrg*_*grs 5 python openssl m2crypto
我正在尝试使用python验证X509证书.特别是当我这样做时,我需要检查CRL.
现在,您可以使用m2crypto执行此操作,但我找不到与openssl的-crl_check或-crl_check_all相对应的选项.
或者,我可以使用管道并直接调用openssl:
p1 = Popen(["openssl", "verify", "-CApath", capath, "-crl_check_all"],
stdin = PIPE, stdout = PIPE, stderr = PIPE)
message, error = p1.communicate(certificate)
exit_code = p1.returncode
Run Code Online (Sandbox Code Playgroud)
但是,似乎openssl verify总是返回一个退出代码0,所以我不得不以某种方式比较字符串来判断验证是否成功,我不想这样做.
我错过了一些简单的东西吗?
谢谢.
好吧,我所做的是这样的:
p1 = Popen(["openssl", "verify", "-CApath", capath, "-crl_check_all"],
stdin = PIPE, stdout = PIPE, stderr = PIPE)
message, error = p1.communicate(certificate)
verified = ("OK" in message and not "error" in message)
Run Code Online (Sandbox Code Playgroud)
这不是我会选择的。它已经通过了我的测试,但我不确定它是否永远有效。我对 C 不太了解,无法阅读 openssl 源代码并验证它。
如果有人能找到失败的情况,请发表评论。
| 归档时间: |
|
| 查看次数: |
2803 次 |
| 最近记录: |