gpt4 book ai didi

wcf - C# WCF 客户端错误 "The private key is not present in the X.509 certificate"

转载 作者:行者123 更新时间:2023-12-02 05:09:31 26 4
gpt4 key购买 nike

我正在尝试创建一个非常简单的 WCF 客户端应用程序,它将向第 3 方服务发送 SOAP 消息。所有消息都必须经过数字签名。在我将代码添加到更大的应用程序之前,这确实是一个概念证明。

我有一个包含证书的 .cer 文件和一个包含私钥的 .pem 文件。我一直在尝试做的是使用 .cer 文件加载证书,然后触发一条消息。但是我收到以下错误消息“X.509 证书中不存在私钥”。

问题,好吧,问题之一是,我对 WCF、数字证书、私钥和所有这些废话几乎一无所知。我读过一些书,用谷歌搜索,直到脸色发青,但一无所获。

如果我打开 .cert 文件,有一个标有“BEGIN ENCRYPTED PRIVATE KEY”的部分表明私钥包含在证书中。那么,为什么我收到一条消息说它不存在?另外,如果确实需要将私钥添加到证书中,我该如何操作?

这基本上就是我在做什么。这不是我的实际代码,但它包含所有相关内容:

MyWSClient c = new MyWSClient();
c.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(@"pathToFile.cer");
c.SomeValidCall();

最佳答案

您如何创建此证书/ key 对?您可以使用 openssl 将它们组合成 PKCS#12 证书:

openssl pkcs12 -export -in yourcert.crt -inkey yourprivkey.key -out newcert.p12 

您可能需要尝试使用输入格式以使其与 .pem 私钥一起使用。

关于wcf - C# WCF 客户端错误 "The private key is not present in the X.509 certificate",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6995841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com