gpt4 book ai didi

ssl - 访问 asmx 服务抛出错误无法建立具有权限的 SSL/TLS 安全通道 - 尽管从 SOAPUI 工作

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:32 27 4
gpt4 key购买 nike

我知道这里有很多关于错误“无法为具有权限的 SSL/TLS 建立安全通道”主题的问答,但我无法为我的问题找到答案或令人信服的理由。

下面是我的问题:我有一个供应商服务(肥皂服务),它受到用户名/密码身份验证(我假设是基本身份验证)的保护。当我尝试使用提供用户名/密码的 SOAP UI 工具测试此服务时 - 它工作正常,没有任何问题。

但是当我在我的 C# 代码(控制台应用程序)中使用相同的代码时,它会抛出上述错误

could not establish secure channel for SSL/TLS with authority '....'

经过研究这个错误,我也设置了如下逻辑:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

我尝试使用所有选项(如 SSL3、TLS、TLS1、TLS2 和各种组合)尝试上述操作,但对于任何此类组合,我没有收到错误,但同样,它没有任何效果。没有错误,没有反应。

在 SOAP UI 中正常工作时,在代码中处理的可能原因是什么?

经过更多研究,我还注意到 Fiddler DO_NOT_TRUST 相关证书并将它们从我的机器中删除。另外,我在我的 Win 10 机器上使用这个控制台应用程序,在正在开发的 VS 2017 上。删除它后,当我再次尝试时,我现在收到以下错误:

System.ArgumentException HResult=0x80070057 Message=The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via Source=System.ServiceModel

更新 2:我确实将 CERT 安装到我的本地计算机 Trusted root 并具有以下几行以准确使用证书但仍然没有运气

client.ClientCredentials.ClientCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.Root, X509FindType.FindBySerialNumber, findValue: "<serial-number>");

有什么帮助吗?

最佳答案

嗯.. 最后我自己想出了解决方案。

以下是对我真正有帮助的。

  1. 在 Chrome/IE 中查找此 asmx 的开发人员工具。它确实显示了以下内容 Security tab in Chrome for the service

这告诉我,它在 TLS1.2 上,无法弄清楚 SOAP UI 如何在机器商店中没有 CERT 的情况下管理它。

随着 clientCredentials 的传递,我还添加了

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

绑定(bind)配置:

 <binding name="mysoapCredBinding">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName" />
</security>
</binding>

仍然 - 我在商店中安装了证书,但我认为上面根本不需要它。当我开始研究上述错误时,这让我很棘手,而且大多数错误都将我引向 CERT 问题,这就是困惑。我们也不需要显式地在 HEADERS 中传递这些凭据,但是使用上面的配置应该会很好。

-- 对于像我一样有类似问题的人,请注意 - 证书设置不是第一个也是唯一的解决方案。如果您的任何问题与我的问题非常相似(具有调用服务的凭据),这也可能是一个解决方案。

关于ssl - 访问 asmx 服务抛出错误无法建立具有权限的 SSL/TLS 安全通道 - 尽管从 SOAPUI 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51459454/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com