大家想要去看一看那些域名证书信息, 说白了就是SSL和TLS这两个东西的证书, 最干脆、最直接的办法, 是看一眼浏览器地址栏左边那个锁头的标志, 当然了, 也可以去用命令行工具, 或者是网上那些能查东西的平台来把这事给办了, 下面, 就从浏览器那头, 命令行工具, 还有在线的那些家伙什儿这三个方面, 把怎么看域名证书信息的这条完整的路子, 给大家伙儿说清楚, 再把这里面到底能查到哪些字段的内容什么的, 都做个说明。
浏览器端查看(最常用零门槛)
我们拿那个比较常用的Google的Chrome浏览器当作例子来说一说看, 具体要怎么做呢, 操作流程大概是这样子的。
1. 打开目标网站后, 点击地址栏左侧的"锁"图标。
2. 在弹出的窗口之中做出选择, 去确认“连接是安全的”这一项。
3. 请点击“证书有效”这个按钮, 或者点击“证书”这个按钮。
4. 进入证书详情页之后, 用户可以查看所有字段, 这些字段包括颁发机构、有效期、加密算法以及证书链。
Firefox和Edge浏览器的操作逻辑都是一样的,入口地方都在地址栏那个安全图标那里。这种方式不需要你安装任何的工具域名证书信息查看, 所以它特别适合那些懂技术比较少的用户, 让他们可以快速确认域名证书现在是什么状态。
命令行查看(适合运维与开发人员)
你可以在终端这个工具里面, 去执行下面说的那个命令, 这样就能获得那个完整的、有关证书的所有信息了。
使用 openssl 里面的 s_client 这个工具, 并且加上 -connect 参数,后面跟着目标域名和冒号还有443这个数字域名证书信息查看, 再然后是要加上 -showcerts 这个参数。
该命令将会输出, 完整的证书链的详细内容, 也就是说会包含根证书, 中间证书以及域名证书的所有信息, 并且也会显示出明文的内容部分。如果用户希望仅提取那些关键字段的值, 那么可以在后面追加一条管道命令, 来达成这个目的, 具体如下所示。
使用openssl客户端工具连接目标域名对应的443端口, 并且把标准错误输出丢弃掉, 接着用这个管道传递给另一个openssl命令去处理, 让它在不显示输出的情况下, 把证书的有效日期、颁发机构以及主题信息全部都打印出来。
这个方法能够适用于像服务器进行批量这样的检测, 同时也能够适用于证书到期预警脚本编写之类的自动化运维场景。
在线查询工具(快速排查)
用户可以用 gname.xin 这个域名管理平台里面的证书查询功能。只要把想查的目标域名输进去, 系统就能返回很多结构化的信息。这些信息会告诉你谁颁发的证书。也会告诉你证书什么时候到期。
还会说明用的是哪种 SSL 加密类型。还会检查证书链是不是完整地。这样做完全不需要你自己去搭建本地环境。这个方法很适合用来快速排查问题。你可以很清楚地知道域名的证书是否有异常情况发生。你也能很快看出证书是不是快要过期的。
证书信息中的关键字段说明
负责颁发这个证书的机构, 英文里叫作 Issuer, 实际上就是指签发该数字证书的那个 CA 机构, 比如大家熟知的 DigiCert、Let's Encrypt 或者 Sectigo 这些。
有效期(Valid From/To)的意思是证书的起始日期和终止日期, 如果在有效期过期之后再去使用这个证书, 那么浏览器就会提示连接是不安全的。
关于签名算法以及密钥长度这一方面的问题, 其包含的范围包括了RSA中的2048位和4096位, 又或者是ECC里面的P-256这些情况, 这样的选择与设定, 会直接影响到最终的加密强度是如何的, 这一点是非常明确的。
证书链这东西, 它就是由根证书、中间证书, 还有域名证书这样按顺序连起来的。要是这个链条不完整的话, 验证操作就会失败。
所谓域名, 就是那个网址的名字, 它支持使用SAN这项技术, 具体的匹配范围可以覆盖主域名以及像*.example.com这样的泛域名。
常见问题与处理建议
1. 证书快要到期了, 这时候浏览器会出现“不安全”或者是“连接不可信”这样的提示信息, 所以应该在证书届满之前的三十天之内把续签的工作做完, 同时要把重新部署的步骤给完成。
2. 证书链不完整: 页面提示无法验证服务器身份, 您需要检查中间证书是否正确上传至Web服务器。
3. 当你使用 ip 进行访问的时候, 或者你输入了一个错误的域名的时候, 会触发告警, 因为域名与证书不匹配了, 这是正常的安全机制, 不需要进行额外的处理。
4. 当内部系统使用自签名证书的时候, 需要把根证书导入到操作系统里面的受信任证书存储部分去, 如果不这么做的话, 浏览器那边就会一直发出告警提示。
查看和检查域名证书的信息, 这是做好网站安全运维的基础工作, 建议一定要弄一个机制, 每个月进行一次关于证书有效期的检查工作, 以此来保证SSL服务能够一直保持着可用的状态, 让用户在访问的时候不会被影响。


