当前位置: 首页 > 知识库问答 >
问题:

Windows Server 2016密码套件不工作

郑功
2023-03-14

我正在尝试使用Powershell和 ADO.NET 驱动程序连接到Exasol数据库。我可以从 Windows 10 电脑成功连接,但无法从 Windows Server 2016 成功连接。错误消息是:

Error: SSL authentication failed. AuthenticationException: A call to SSPI failed, see inner exception.
Error: Inner exception: The client and server cannot communicate, because they do not possess a common algorithm
Debug: Exasol.EXADataProvider.EXAClientException (0x80004005): TLS connection to host (exadb1) failed: A call to SSPI failed, see inner exception.
   at Exasol.EXADataProvider.backend.BackendFactory.ConnectToServer(String hostIp, Int32 serverPort, String serverName, String userFingerprint)
   at Exasol.EXADataProvider.backend.BackendFactory.PerformLogin(EXAConnectionStringBuilder connectString)

我检查了TLS 1.2是否在Windows Server上启用。我想,也许Windows Server没有合适的Cipher Suite,Exasol接受。

下面是Get-TlsCipherSuite命令在我的计算机上返回的内容。最后一列显示了Wireshark日志中提到了哪些Cipher Suite。

下面是Windows Server 2016上的Get-TlsCipherSuite命令的结果。最后一列显示了Wireshark日志中提到的密码套件。

出于某些原因,Powershell和Wireshark中的密码套件列表不匹配。

你知道如何在Windows服务器上“激活”密码套件吗?为什么其中一些没有被使用?看起来Exasol想要使用< code > TLS _ ECD he _ RSA _ WITH _ AES _ 256 _ GCM _ sha 384 ,但是Windows Server由于某种原因无法使用它。

共有3个答案

唐兴贤
2023-03-14

毕竟,设置< code > SystemDefaultTlsVersions 和< code>SchUseStrongCrypto注册表项会有所帮助。https://docs . Microsoft . com/en-us/dot net/framework/network-programming/TLS # system defaulttlsversions

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

在此变更之前,<代码>[系统。net . ServicePointManager]::security protocol 正在返回< code>Ssl3,Tls。更改后,它开始返回< code >系统默认值。并且不再出现错误。

另外,我检查了,现在TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384密码套件现在被使用了。

谢谢大家的帮助。

郑翰海
2023-03-14

尝试在脚本开始时实施tls协议:

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls13
夔庆
2023-03-14

您可以使用Enable-TlsCipherSuite向您的服务器添加其他密码。

Enable-TlsCipherSuite-Name"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"

在提升的powershell实例中,上面的内容应该让您知道下一步要做什么

 类似资料:
  • 我对证书知之甚少。 需要添加码头证书(v.9.4.11),这是申请的一部分。 用自签名试试——都可以。但是现在,需要用组织官方证书做。 管理员给我2个文件-。cer和。p7b。申请文件显示,足够的命令如下: keyool-导入-信任Cacerts-别名mydome-filemydomain.crt-keystorekeystore.jks 我将尝试使用。而不是。crt。密钥存储已创建、配置jett

  • 编辑:FXML文件

  • 我正在开发一个java应用程序,它将实现TLS协议。因为我最近开始实施它。在开发类型握手的记录协议实现时,我从google chrome和mozilla firefox获得了奇怪的密码套件。正如本文所述,在握手协议中有类型、握手长度、版本、随机、会话id长度、会话id、密码套件长度、密码套件。。。。。。。 我得到的所有字段都是正确的(在密码套件之前),但在密码套件上,我从google chrome

  • 什幺是BCCSP BCCSP全称是区块链密码服务提供者,用来提供区块链相关的算法标准和他们的实现。 bccsp.go // BCCSP is the blockchain cryptographic service provider that offers // the implementation of cryptographic standards and algorithms. type B

  • 问题内容: 我最近一直在将SSL套接字用于消息传递系统。 我终于开始使用CA颁发的证书。我将其导入到密钥库中,设置了密钥库属性,并启动了客户端,但是当我尝试发送数据时,我一直收到握手异常。 我启用了调试模式,发现这是由于造成的。有什么想法吗? 如果有帮助,它还说它忽略了TLSV1和TLSV1.1中的大约10个密码套件。 我还安装了无限强度加密策略。 客户代码 服务器代码 编辑: 我刚刚添加了密码,

  • 问题内容: 按照此处的说明进行操作,并重新创建了我以前错误创建的证书。就像我现在在服务器和客户端上看到的一样,情况发生了变化。 服务器是ClassFileServer.java,相应的客户端是SSLSocketClientWithClientAuth.java 有关使两端都能正常播放的任何提示,请注意,我使用的是localhost,因此我假设密码功能相同。 更新: 这是我用于生成文件的步骤,我可能