首页 > 解决方案 > 如何在 Windows 7 / 64 位上使用 powershell 的 TLS 1.2

问题描述

我正在尝试解决以下问题:

异常设置 "SecurityProtocol": "Cannot convert value "tls13, tls12, tls11, tls" to type "System.Net.SecurityProtocolType" 由于无效的枚举值。指定以下枚举值之一,然后重试。可能的枚举值是“Ssl3,Tls”。

这是我的系统信息(Windows 7/64 位):

在此处输入图像描述

Powershell 版本是:

PS > $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.8789
BuildVersion                   6.1.7601.17514
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

我确实按照这里的说明进行操作。这相当于:

# set strong cryptography on 64 bit .Net Framework (version 4 and above)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

我可以验证我有:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319

但是它对我来说仍然失败(使用新创建的 powershell 窗口):

PS > [enum]::GetNames([Net.SecurityProtocolType])
Ssl3
Tls

以供参考:

在此处输入图像描述

标签: powershelltls1.2

解决方案


推荐阅读