如何使用python解码SSL证书?

如何使用python解码SSL证书?,第1张

如何使用python解码SSL证书?

Python的标准库,即使是最新版本,也不包含任何可解码X.509证书的内容。但是,附加

cryptography
软件包确实支持此功能。引用文档中的示例:

>>> from cryptography import x509>>> from cryptography.hazmat.backends import default_backend>>> cert = x509.load_pem_x509_certificate(pem_data, default_backend())>>> cert.serial_number2

另一个可选的附加软件包是

pyopenssl
。这是围绕OpenSSL C
API的精简包装,这意味着有 可能 做您想做的事情,但是希望花几天的时间来整理文档。

如果您无法安装Python附加软件包,但确实有

openssl
命令行实用程序,

import subprocesscert_txt = subprocess.check_output(["openssl", "x509", "-text", "-noout",    "-in", certificate])

应该会产生与您从中的Web实用工具获得的大致相同的东西

cert_txt

顺便说一句,直接进行base64解码会产生二进制gobbledygook的原因是这里有两层编码。
X.509证书是ASN.1数据结构,序列化为X.690
DER
格式,然后,由于DER是二进制格式,因此使用base64铠装以便于文件传输。(在这方面的许多标准都是在90年代编写的,当时您只能可靠地发送7位ASCII码,否则无法可靠地发送任何东西。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存