我正在尝试使用 openssl 验证证书。我验证了证书链本身,我想检查证书的主题是否与 SSL 字段中的服务器名称匹配。
我的代码在 SSL 会话上运行,首先我想从数据包中提取服务器名称(为此,我尝试使用ssl.handshake.extensions_server_name
tshark 中的字段)并将其与标题为“X509v3 主题备用名称”的命令输出中的域进行检查openssl x509 -text -noout cert.pem
。
它在我的测试文件上运行良好,但在大型文件上运行代码时,似乎有些 SSL 会话没有带有上述字段的数据包(即使浏览器没有发出任何警报)。
我如何才能验证服务器的名称?
注意:我手动检查了证书的“X509v3 主题备用名称”,名称包括以下列表:
*.akamaihd.net, *.akamaihd-staging.net, a248.e.akamai.net, *.akamaized.net, *.akamaized-staging.net
我的问题是否可能是因为名称属于 Akamai 而发生的?我该如何解决这个问题?
编辑:该注释不相关,我检查了另一个文件的代码,发现服务器也存在同样的问题,证书中明确包含其名称。问题是 - 握手中怎么可能不包含服务器名称?当这种情况发生时,我如何获得应该与证书中的名称进行验证的名称?
谢谢!
从 SSL 握手中获取 SSL 服务器名称 - tshark
相关内容
- GParted 无法检测 Ubuntu Lucid Lynx 中的 Raid-0
- Ubuntu Nvidia 驱动程序 310.14Beta Stretch OpenGL 功能
- 在安装过程中选择加密时,是否对 /home/userdir 或整个 /home 目录进行加密?
- “\includegraphics{}” 但是适用于.pgf 文件吗?
- 如何从终端打开某个工作区中的应用程序?
- 恢复 Firefox 同步密钥
- 我可以在 SSD 中安装操作系统吗?
- Ubuntu `系统搜索`另一个驱动器
- Vim 搜索并重用命中替换 html 标签
- Mac OS X Server Open Directory 不会将软件更新设置推送到客户端