使用 .NET 4.0 框架,我正在尝试进行服务器到服务器 HTTPS SOAP 服务调用。在客户端服务器上,我正在尝试添加本地 SSL 证书,以便接收呼叫的服务器可以识别我。
我要添加的证书不是来自本地计算机的存储(即使是,问题仍然存在),只是作为本地文件放置在我的计算机上的 (.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);
将不胜感激任何建议。
谢谢