检查你的服务是否支持 TLS 1.2 的几种常用方式,适用于 Windows 系统和基于 OpenSSL 的环境_验证使用tlsv1.2
以下是检查你的服务是否支持 TLS 1.2 的几种常用方式,适用于 Windows 系统和基于 OpenSSL 的环境:
✅ 一、使用 openssl s_client
命令测试
🔧 命令:
openssl s_client -connect <host>:<port> -tls1_2
📌 示例:
openssl s_client -connect www.google.com:443 -tls1_2
✅ 判断依据:
- 如果连接成功,并在输出中看到类似以下内容,则表示支持 TLS 1.2:
Protocol : TLSv1.2
✅ 二、查看服务支持的协议版本(通过 openssl
)
🔧 命令:
openssl ciphers -v \'DEFAULT\'
✅ 判断依据:
- 输出中包含
TLSv1.2
字样,说明默认配置支持 TLS 1.2。
✅ 三、使用 PowerShell 测试(Windows 原生)
🔧 命令:
$tcp = New-Object Net.Sockets.TcpClient(\"www.google.com\", 443)$ssl = New-Object Net.Security.SslStream($tcp.GetStream(), $false, { param($sender, $cert, $chain, $errors) return $true }, $null)$ssl.AuthenticateAsClient(\"www.google.com\", $null, [System.Security.Authentication.SslProtocols]::Tls12, $false)$ssl.SslProtocol
✅ 判断依据:
- 若输出为
Tls12
,则表示成功协商使用 TLS 1.2。
✅ 四、使用浏览器开发者工具(适用于 Web 服务)
操作步骤:
- 打开浏览器(如 Chrome)。
- 访问目标 HTTPS 站点。
- 打开 开发者工具(F12) > Security 标签页。
- 查看页面使用的协议版本。
✅ 判断依据:
- 显示 “TLS 1.2” 或更高版本。
✅ 五、使用网络抓包工具(Wireshark)
操作步骤:
- 使用 Wireshark 抓取与目标服务的 HTTPS 连接流量。
- 查看 ClientHello 和 ServerHello 握手过程中的协议版本字段。
✅ 判断依据:
- 协议版本为
TLS 1.2 (0x0303)
表示支持。
✅ 六、服务器端配置检查(适用于本地服务)
检查注册表(Windows Server):
路径:
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\SCHANNEL\\Protocols
检查项:
- 是否启用了
TLS 1.2
子项,并且其下的Enabled
值为1
。
📋 总结表格
openssl s_client -connect host:port -tls1_2
openssl ciphers -v \'DEFAULT\'
.NET SslStream
SCHANNEL\\Protocols
如你有特定服务类型(如 Apache、IIS、Nginx、Java 应用等),可提供详细信息,我可以给出更针对性的检测方法。