【问题标题】:.NET add SSL certificate to SOAP client request.NET 将 SSL 证书添加到 SOAP 客户端请求
【发布时间】:2012-12-16 14:57:39
【问题描述】:

我正在尝试使用 .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);

将不胜感激任何建议。

谢谢

【问题讨论】:

    标签: c# .net soap


    【解决方案1】:

    这里的主要错误是当使用 SSL 和客户端身份验证时,应该使用 .pfx 文件(带有客户端私钥、证书、证书链、根授权证书)。

    不是 .cer 文件。

    这是错误的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-15
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      相关资源
      最近更新 更多