我有使用Web服务的工具 . 我已经为Web服务生成了自签名证书,并使用证书管理器将其导出到本地路径 .
我正在按照以下msdn代码将webservice添加到证书中 . https://support.microsoft.com/en-us/kb/901183
string certPath = @"C:\TestData\certificate.cer";
test.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));
以上是我的代码 .
我收到以下错误 .
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
堆栈跟踪:
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at web_Client.testClient.testClassWebService.Add(Request request) in C:\Workspace\Reference.cs:line 248
at web_Client.WebClient.Add() in C:\Workspace\WebClient.cs:line 227
我不知道是怎么回事 . 我对网络和证书都很陌生 . 请帮忙 .
1 回答
在过去的几天里,我遇到了一个应用程序,之前工作正常 . 我认为拥有服务器的人更新了一些东西,现在他们需要不同的协议 . 我只是通过转移到后来的框架版本解决了其中一个问题 . 对于第二个,我不得不移动到更高版本(4.5)并将ServicePointManager.SecurityProtocol设置为不同的协议 . 您可以使用intellisense查看您的选项 .