网上的各种文章使我相信,服务器证书的公共名称必须与其有效的根URL完全匹配。但是,当我通过命令openssl x509 -inform PEM -in <certfile.pem> -text查看/etc/ssl/certs中的一堆文件时,我发现CN值通常是对站点的可读的描述(例如,“谷歌互联网管理局”),而不是域名。事实上,我无法在任何文件中看到任何看起来像域名或ip地址的文件,无论是在它们中还是在openssl s_client -connect <ip>的输出中。
那么,我对“普通名字”的理解是否不正确?如何从证书有效的证书中检索url?
发布于 2013-08-19 14:12:33
是也不是。对于服务器证书,您是正确的(除非有其他详细信息)。但是,/etc/ssl/certs中的证书是中间证书和根CA证书,而不是服务器证书。也就是说,它们不直接用于服务器标识。因此,他们并没有同样的担忧。
服务器证书,即服务器实际呈现给客户端的证书,确实存在匹配的问题,并且是连接时获得的第一个证书中所看到的。如果您查看链中的其他证书,openssl构建(并向您发出),您将看到对证书的/etc/ssl/certs样式的引用。
如果定义为合法匹配的另一个字段匹配,则CN本身可能不匹配。为证书匹配添加其他有效名称的方法包括使用带有subjectAltName类型的dNSName扩展,然后指定要匹配的有效名称(至少用于HTTPS )。还有其他的其他用途。
https://serverfault.com/questions/532023
复制相似问题