gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:48:33 24 4
gpt4 key购买 nike

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

将不胜感激任何建议。

谢谢

最佳答案

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

不是 .cer 文件。

这是错误的原因。

关于c# - .NET 将 SSL 证书添加到 SOAP 客户端请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13902483/

24 4 0
文章推荐: c# - 选择单元格时,如何突出显示 DataGrid 列标题和行标题?
文章推荐: c# - 将 List 添加到 EF