问题: 我的openssl的版本是LibreSSL 2.8.3。 操作系统是macOS 11.4 下面以 www.cctv.com 为例进行说明,使用openssl查询得到的结果和在浏览器端查询的结果不一样。 我的openssl命令是:openssl s_client -connect www.cctv.com:443 < /dev/null | openssl x509 -noout -text | perl -l -0777 -ne '@names=/\bDNS:([^\s,]+)/g; print join("\n", sort @names);' 可以看到两个证书链完全不一样,SAN信息也不一样。
思考: 我们怀疑openssl可能是解析到了托管www.cctv.com的CDN上面。
测试一: 我使用nslookup查询这些SAN列表中的域名,想看看它们的cname信息是否一样,这些SAN域名的cname信息包括: ss.3z222.com.lxdns.com(网宿科技) sj.nzsiteres.com.w.cdngslb.com(阿里云) api.xiuxiu.meitu.com.dy.galileo.jcloud-cdn.com(京东云) cmscn.bmwgroup.com.wswebcdn.com(网宿科技) qf.56.com.cdn20.com(京东云) 这些SAN域名显然不在一个CDN上 并且使用dig soa 命令发现这些SAN域名的nameserver也不一样。 我不知道openssl拿到的这个信息到底是哪里的证书?这些SAN域名有什么关系?这是否意味着不必要的信息泄漏**
测试二: 我们使用一个已经使用了CDN的域名进行了测试, img.ccm.ink使用了腾讯的CDN,仍然使用同样的openssl进行测试得到的结果如下: 我们发现这些.myqcloud.com、tencentcos.com域名应该都是属于腾讯的CDN,似乎感觉是解析到了CDN的证书
另外: 我使用Ubuntu 20.04 LTS;OpenSSL 1.1.1f 服务器地址在美国洛杉矶 同样的命令得到的结果是(只有*.cctv.com和cctv.com) 使用CentOS Linux release 8.4.2105 OpenSSL 1.1.1g FIPS 服务器地址在北京 同样的命令得到的结果是(与浏览器查询www.cctv.com得到的结果一摸一样)
如果有研究进展,欢迎联系我 我的邮件地址是863156018@qq.com
我觉得应该是获取证书的方法不对,一个证书最大范围也就是配某个通配符域名例如【*.cctv.com】,不能支持多个二级域名的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。