gpt4 book ai didi

c# - 为什么出现错误 X.509 证书中不存在私钥

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:07 24 4
gpt4 key购买 nike

我在 C#.NET 中开发了一个 Windows 服务应用程序,现在尝试从这个用 Java 开发的 Windows 服务调用 Web 服务。我的客户向我提供了 .cert 类型的证书和 .pkcs8 类型的私钥。当我尝试调用 Web 服务时,出现以下错误:

The private key is not present in the X.509 certificate.

这是我连接 wsdl 的代码:

<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="PeerTrust" trustedStoreLocation="CurrentUser" />
</serviceCertificate>
<clientCertificate storeLocation="CurrentUser" storeName="Root" findValue="176455DB76886FF2BA3C122F8B36322F647CB2FD" x509FindType="FindByThumbprint"/>
</clientCredentials>

如果您能根据以上内容建议我了解如何将私钥包含在该证书中以从我的代码中调用 Web 服务,我将不胜感激。提前致谢。

最佳答案

问题是因为您将证书导入到 Windows 证书存储区,但尚未与私钥相关联。您必须将 .cer.pkcs8 文件合并到 PFX 容器中。您也可以为此使用 certutil.exe:

certutil -mergepfx path\mycert.cer path\mycert.pfx

注意:重命名您的 key 文件以匹配证书文件名并将扩展名更改为.key。也就是说,这两个文件必须位于同一文件夹中并具有名称,例如:mycert.cermycert.key

关于c# - 为什么出现错误 X.509 证书中不存在私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728841/

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