加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – .NET将SSL证书添加到SOAP客户端请求

发布时间:2020-12-15 21:44:31 所属栏目:百科 来源:网络整理
导读:使用.NET 4.0框架我正在尝试使服务器服务器HTTPS SOAP服务调用. 在客户端服务器上,我正在尝试添加本地SSL证书,以便接收呼叫的服务器可以识别我. 我试图添加的证书不是来自本地机器的商店(问题仍然存在,即使它是),只是一个(.cer)文件放在我的机器上作为本地文
使用.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("MyCertificateFoderMyCertificate.cer");
    }
    catch (Exception ex)
    {
        throw;
    }
    return cert;
}

服务电话代码:

X509Certificate2 cert = GetCertificate();
ServiceClient.ClientCertificates.Add(cert);
serviceMethodResponse = ServiceClient.ServiceMethod(serviceMethodRequest);

将不胜感激任何建议.

谢谢

解决方法

这里的主要错误是当使用SSL与客户端身份验证时,应使用.pfx文件(包含客户端私钥,证书,证书链,根证书颁发机构证书).

不是.cer文件.

这是错误的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读