Powershell 无法创建 ssl/tls 安全通道,未使用操作系统支持的密码

Powershell 无法创建 ssl/tls 安全通道,未使用操作系统支持的密码

我正在尝试使用 powershell 从 Windows server 2012 R2 服务器连接到 dns 服务 desec.io,但连接失败,错误为请求被中止,无法创建 ssl/tls 安全通道。我使用 wireshark 检查 hello 数据包,以确保正在使用 TLS 1.2 连接,并查看发送的密码列表。我的服务器在尝试连接时发送此密码列表:

                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
                Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
                Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
                Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
                Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
                Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
                Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)

我使用 ssllabs 检查了该网站并确定了它要使用的密码。这是该网站将接受的密码列表:

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e)   DH 2048 bits   FS  128
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)   ECDH secp521r1 (eq. 15360 bits RSA)   FS   128
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f)   DH 2048 bits   FS  256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)   ECDH secp521r1 (eq. 15360 bits RSA)   FS   256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)   ECDH secp521r1 (eq. 15360 bits RSA)   FS 256

查看上述密码列表,很明显连接失败的原因是因为客户端/服务器之间没有匹配的密码。我的问题是,根据此 Microsoft 页面:https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-8-1 Windows Server 2012 R2 支持 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 和 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 密码,默认情况下应启用。我甚至使用 IISCrypto 工具来验证这些密码是否已列出并设置为启用。那么为什么 powershell 不会发送这些密码?仅供参考:我认为 powershell 本身与此无关,因为如果我尝试从 Internet Explorer 访问此网站,我会收到类似的错误和连接失败。

相关内容