You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell脚本检查浏览器是否启用了TLS 1.2

PowerShell 无注册表检查浏览器TLS 1.2启用状态方法

核心逻辑:绕过注册表读取,直接通过TLS 1.2握手有效性验证判断启用状态,只要能完成仅使用TLS 1.2的HTTPS连接,就说明对应浏览器依赖的加密模块已启用TLS 1.2。

1. 适用Edge/Chrome/IE等调用系统SCHANNEL的浏览器

这类浏览器默认使用Windows系统内置的SCHANNEL加密模块,直接运行如下脚本即可验证:

# 强制仅使用TLS 1.2协议发起连接
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
try {
    # 调用公网可访问的、确认支持TLS 1.2的服务端点验证握手
    $testResult = Invoke-WebRequest -Uri "https://www.microsoft.com" -UseBasicParsing -TimeoutSec 8
    Write-Host "检测完成:TLS 1.2 已启用,连接状态码为 $($testResult.StatusCode)"
}
catch {
    Write-Host "检测完成:TLS 1.2 未启用,握手失败原因:$($_.Exception.Message)"
}

结果说明:

  • 脚本返回连接成功,代表系统SCHANNEL已开启TLS 1.2,上述浏览器默认状态下均可正常使用TLS 1.2访问站点
  • 脚本返回握手失败,排除网络不通的情况后即可确认TLS 1.2未启用

2. 适用Firefox浏览器

Firefox使用独立的NSS加密库,不依赖系统SCHANNEL配置,可通过Selenium PowerShell模块启动浏览器实例验证:

  • 先安装Selenium模块:Install-Module Selenium -Scope CurrentUser -Force
  • 运行验证脚本:
# 导入Selenium模块,启动Firefox实例
Import-Module Selenium
$driver = Start-SeFirefox -Headless
try {
    # 访问仅支持TLS 1.2的测试地址
    $driver.Navigate().GoToUrl("https://tls-v1-2.badssl.com/")
    Start-Sleep -Seconds 3
    if ($driver.Title -match "tls-v1-2.badssl.com") {
        Write-Host "检测完成:Firefox已启用TLS 1.2"
    }
    else {
        Write-Host "检测完成:Firefox未启用TLS 1.2"
    }
}
catch {
    Write-Host "检测完成:Firefox未启用TLS 1.2,握手失败"
}
finally {
    $driver.Quit()
}

注意事项

  • 测试前请确保网络正常,可访问测试用的公网地址,避免网络问题导致误判
  • 如需更高准确率,可将测试地址替换为内网中确认仅开放TLS 1.2的服务地址

内容的提问来源于stack exchange,提问作者SmartestVEGA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:09:02