TLS 证书探测 · 使用说明
填一个 host:port,本站去做一次 TLS 握手,把对端的证书、协商的 TLS 版本 / cipher / ALPN,以及诊断(过期 / 自签 / 域名不匹配)一次性回给你。专治设备「连 MQTTS / HTTPS 就握手失败」。
三步上手
- 填主机 + 端口(点「MQTTS 8883」「HTTPS 443」可一键预设),需要时填 SNI / ALPN。
- 点探测,右侧立即显示本次主机、端口、SNI / ALPN 输入和开始时间,以及等待后端结果的状态。
- 右边看:协商参数 + 诊断(红=有问题)+ 证书详情。
- 复制结果 JSON可直接复制本次输入和结果。草稿改过后,点载入本次探测输入恢复原主机、端口、SNI 和 ALPN,再检查并探测;载入不会自动发请求。
它能帮你定位什么
- 证书过期 / 尚未生效
- 诊断里「有效期」标红;设备会因此拒连。剩余天数也会算给你(<14 天黄色预警)。
- 域名不匹配
- 把你连接用的主机名(或 SNI)和证书 SAN/CN 比对——不匹配标红,设备校验主机名时就会失败。
- 自签特征
- 这里只比较 Subject 与 Issuer 是否相同,未验证证书签名或信任链。两者不同也不代表证书受设备信任;仍需核对设备信任库和完整证书链。
- 协商不上 / 握手失败
- 会显示「TCP 连上了但 TLS 握手失败:<原因>」——常见是协议版本/cipher 不兼容(老设备只支持旧 TLS)。
SNI / ALPN
- SNI:默认用你填的主机名;同 IP 多证书(虚拟主机)时,填 SNI 指定要哪张。主机填 IP 时默认不发 SNI。
- ALPN:逗号分隔,如
mqtt(MQTTS over TLS)或h2,http/1.1;最多 8 项,每项 1–32 个字符,允许字母、数字和. - / +,提交前会提示错误并定位输入框;回显服务端选了哪个。
命令行对照
# 等价于
openssl s_client -connect 120.79.19.193:8883 -servername 120.79.19.193 -alpn mqtt </dev/null
# 本工具把上面的输出解析成结构化、带诊断的结果边界 / 安全
- 只能探公网目标:内网 / 环回 / 链路本地 / 云元数据会被 SSRF 护栏拒(防本站被当跳板)。
- 握手用「不校验」模式——所以过期/自签/不匹配的坏证书也能看清(这正是排查所需)。
- 纯只读探测,不发业务数据;每 IP 每分钟限若干次。
- 当前取叶子证书完整解析(足够定位绝大多数问题);完整中间证书链待后续。
- 导出结果保存本次输入、开始时间与成功或失败的探测 JSON;等待期间导出也明确标记 pending,不会导出上次证书。网络中断时保留本次输入,并注明后端结果未确认。
- 这是一次结果型探测,等待提示不表示连接或握手已经完成,也不提供原始 TLS 收发报文。
想要别的功能?右下角「意见反馈」,或邮件 linsuwei_mic@outlook.com。