栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用python检索远程主机的TLS / SSL对等证书?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用python检索远程主机的TLS / SSL对等证书?

python ssl库似乎只有在具有有效签名的情况下才能为您解析证书。

    """Returns a formatted version of the data in the    certificate provided by the other end of the SSL channel.    Return None if no certificate was provided, {} if a    certificate was provided, but not validated."""

您仍然可以使用该

ssl.get_server_certificate()
功能获取服务器证书,但是它将以PEM格式返回。(或者,您可以调用
c.getpeercert(True)
,以二进制DER格式返回证书,而不管其是否经过验证。)

>>> print ssl.get_server_certificate(('server.test.com', 443))-----BEGIN CERTIFICATE-----MIID4zCCAsugAwIBA.....

从这里,我将使用M2Crypto或OpenSSL来读取证书并获取值:

    # M2Crypto    cert = ssl.get_server_certificate(('www.google.com', 443))    x509 = M2Crypto.X509.load_cert_string(cert)    x509.get_subject().as_text()    # 'C=US, ST=California, L=Mountain View, O=Google Inc, CN=www.google.com'    # OpenSSL    x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)    x509.get_subject().get_components()    #[('C', 'US'),    # ('ST', 'California'),    # ('L', 'Mountain View'),    # ('O', 'Google Inc'),    # ('CN', 'www.google.com')]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640979.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号