使用.NET 4.0框架,我正在尝试进行服务器到服务器的HTTPS SOAP服务调用。
在客户端服务器上,我正在尝试添加本地SSL证书,以便接收调用的服务器可以识别我。
我尝试添加的证书不是来自本地机器存储(即使是来自本地机器存储也会出现问题),只是作为一个(.cer)文件放置在我的机器上。
代码运行良好,似乎已经添加了证书,但每次调用时我的System.Net.trace.log文件都会添加以下错误: “无法在LocalMachine存储或CurrentUser存储中找到证书。”并且我尝试调用的服务器告诉我没有证书附加到我的请求上。 我得到的最终WebException是: “请求被中止:无法创建SSL/TLS安全信道。” 我的GetCertificate函数:
我尝试添加的证书不是来自本地机器存储(即使是来自本地机器存储也会出现问题),只是作为一个(.cer)文件放置在我的机器上。
代码运行良好,似乎已经添加了证书,但每次调用时我的System.Net.trace.log文件都会添加以下错误: “无法在LocalMachine存储或CurrentUser存储中找到证书。”并且我尝试调用的服务器告诉我没有证书附加到我的请求上。 我得到的最终WebException是: “请求被中止:无法创建SSL/TLS安全信道。” 我的GetCertificate函数:
private X509Certificate2 GetCertificate()
{
X509Certificate2 cert;
try
{
cert = new X509Certificate2("MyCertificateFoder\\MyCertificate.cer");
}
catch (Exception ex)
{
throw;
}
return cert;
}
服务调用代码:
X509Certificate2 cert = GetCertificate();
ServiceClient.ClientCertificates.Add(cert);
serviceMethodResponse = ServiceClient.ServiceMethod(serviceMethodRequest);
希望得到任何建议。
谢谢。