gpt4 book ai didi

.net - 在使用 pfx 证书作为安全 SOAP 请求的客户端证书之前,.NET 是否必须具有可用的根 CA 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:03 24 4
gpt4 key购买 nike

我正在编写一个 .NET 应用程序,它必须使用由外部提供商提供的 Web 服务 API。该提供商给了我一个 pfx 证书(和一个密码),我必须使用它来向他们的服务器验证我的 HTTP 客户端。

当我使用 SOAPUI 使用此证书和此密码访问 Web 服务时,Web 服务回答正常。

当我尝试创建一个 .NET 客户端作为 Web 引用时,连接失败,告诉我“身份验证失败,对等方已关闭连接”。

深入使用 Wireshark 并比较数据流,我发现 SOAPUI 会发送客户端证书以响应服务器证书,而 .NET 程序则不会。客户端证书加载到 ClientsCertificate 集合中,但 .NET 拒绝发送客户端证书。

证书由外部提供商持有的 CA 颁发和签署,但我们没有 CA 证书。

我目前的理论是,如果 .NET 无法验证证书链,它会拒绝使用该证书。是这样吗,在那种情况下,有没有办法绕过这个验证呢?

最佳答案

当尝试在 vb.net 应用程序中执行 SFTP 时,我将此代码添加到页面顶部。

Public Sub New()
ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf CertificateAuthenticate)
End Sub
Private Function CertificateAuthenticate(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslPolicyErrors As SslPolicyErrors) As Boolean
Return True
End Function

所以在普通的 FTP 客户端中,ftp 客户端会提示用户“信任”证书,所以这个“返回 True”实质上告诉 .net 应用程序信任证书。不确定这是否是答案,但希望对您有所帮助。

关于.net - 在使用 pfx 证书作为安全 SOAP 请求的客户端证书之前,.NET 是否必须具有可用的根 CA 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52762469/

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