首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某些网站上的ssl.get_server_certificate错误,而另一些网站则没有

某些网站上的ssl.get_server_certificate错误,而另一些网站则没有
EN

Stack Overflow用户
提问于 2022-02-05 01:11:20
回答 1查看 389关注 0票数 0

因此,我试图使用以下方法获得一些域证书:(首先从nmap检索端口,然后尝试使用443)

代码语言:javascript
复制
ssl.get_server_certificate((hostname, port))

但是对于一些域名,比如以下几个(只有几个):q1.insightsnow.redbull.com,mib-cdn.redbull,internalauditdb uux-d.redb.com,smg20.redbull.com,ssmg11-q.redbull,pm.redbull.com。对于这个子域和许多其他域,我得到了一系列不同的错误:

  • SSL: WRONG_VERSION_NUMBER错误版本号
  • 超时
  • EOF违反协议发生
  • SSL: SSLV3_ALERT_HANDSHAKE_FAILURE sslv3警报握手失败

我需要指出的是,对于许多其他子域(大约1000),一切正常工作,我可以获得他们的证书。但是对于他们中的200人,我不断地从上面得到错误,我在网上找不到他们的来源。

你知道我为什么不能在那些网站上使用ssl.get_server_certificate吗?或者我在哪里做错了什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-05 06:05:23

大多数如果这里的网站需要SNI。这是一个长期存在的问题,SNI没有完成与ssl.get_server_certificate -见具有SNI的站点证书(服务器名称指示)Python第36076期。最后用3.10解决了这个问题:

代码语言:javascript
复制
$ python3.8 -c 'import ssl; print(ssl.get_server_certificate(("q1.insightsnow.redbull.com", 443)))'
...
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)


$ python3.10 -c 'import ssl; print(ssl.get_server_certificate(("q1.insightsnow.redbull.com", 443)))'
-----BEGIN CERTIFICATE-----
MIIHnjCCBoagAwIBAgIRAPcBO50Fz5QaF+JxeyoL1vEwDQYJKoZIhvcNAQELBQAw
gZUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
...

对于较早的Python版本,请参见这个问题关于如何在不使用ssl.get_server_certificate的情况下获得证书的答案。

至于smg20.redbull.com和ssmg11-q.redbar.com,这些网站似乎一开始就无法从互联网上访问,也就是说,它们也不能被其他工具或浏览器访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70994539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档