当SalesForce下周删除TLS1.0时,我们不得不在API调用中使用TL1.1或1.2,使用这些调用从WindowsServer2008R2使用SSIS自定义CozyRoc组件提取数据。我们安装了修补程序,并确保注册表按照这文章中所述的那样需要条目。不过,我们没有向SCHANNEL添加密钥,现在列出的唯一协议是SSL2.0。
接下来,当然,在重新启动之后,我用Wireshark记录了跟踪,以发现SSIS包中的CozyRoc组件使用TLS1.0,就像在中,我们在握手协议部分获得了TLS1.0。构造调用的CozyRoc组件支持TLS1.2。
我的问题是:如何测试我们的服务器是否可以使用TLS1.2与SalesForce通信?我知道禁用TLS1.0可能会破坏其他连接,所以我不想这样做。理想情况下,我想知道我的SSIS包使用TLS 1.2。
更新:我尝试连接到我们的测试Salesforce站点,在那里TLS 1.0是禁用的。现在,当我试图连接时,我收到一个错误信息:
"UNSUPPORTED_CLIENT: TLS1.0在此组织中已被禁用。使用https. (System.Web.Services)连接到Salesforce时,请使用TLS1.1或更高版本。“
我仍然不知道该归咎于我的服务器安装还是CozyRoc组件,所以我现在正在寻找任何方法来确保TLS1.2在服务器上工作,而不依赖于SSIS设置。有什么想法吗?
发布于 2017-08-07 09:51:59
我的问题的答案非常简单,足以访问https://www.howsmyssl.com/。此外,Wireshark跟踪表明,我的服务器在测试连接时使用TLS 1.2与Salesforce站点交换握手。
在我的例子中,瓶颈是Cozyroc SSIS+版本--目前它是1.6.103,您至少需要1.6.104才能使用TLS1.1或更高版本,所以一定要检查它。
发布于 2017-08-23 08:57:48
请注意,在Windows2008中,TLS1.2在默认情况下是禁用的(参见这里)。因此,您需要在每次更改注册表时启用它(请参见下面),您还需要了解存在一个客户端配置和一个服务器配置。因此,例如,如果您在客户端级别上启用TLS1.2,而在服务器级别上不启用TLS1.2,则针对端口443的nMAP将不会显示TLS1.2仅为客户端启用。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000这里您需要什么很难取决于您的应用程序以及它与远程服务的交互方式。因此,例如,如果第三方应用程序将对您的环境使用https会话,那么这将是服务器端的配置。但是,如果您有一个第三方插件作为服务运行,它对第三方服务器执行连接,那么这是一个客户端配置。
此外,还有一个修复程序,它允许使用WinHTTP为安全套接字层(SSL)连接编写的应用程序和服务使用您应该安装的TL1.1或TLS1.2协议(因为这是一个较旧的修复;请参见这里)。
此外,如果第三方组件没有使用Microsoft实现,则注册表端的任何更改都将无效。因为可能是第三方组件正在使用另一个SSL实现,比如OpenSSL。在这种情况下,您需要与供应商联系,以检查如何在这里启用TLS1.2。例如,在使用Java组件(例如TomCat)时也是如此。然后调整Microsoft实现不会影响它们。
SalesForce本身有一个非常好的文档,从上面我可以给出更多的细节。因此,您也应该检查它(参见这里)。另外,它们还提供了多种“如何测试”的方法来测试TLS配置,然后您可以执行这些配置。
发布于 2018-08-22 07:08:08
步骤:也在Windows server 2010上检查

如果它是启用的,它将显示如图中所示的启用。我希望你现在明白了,否则就在这里留言
https://serverfault.com/questions/862509
复制相似问题