不带主密钥的 WCF 消息安全性,具有证书



我正在尝试使用 WCF 连接到 SOAP Web 服务 (JAVA(。请求必须包含时间戳和二进制安全令牌。问题是我收到的证书不包含私钥(并且无法获取它(,并且请求失败并显示错误"X.509 证书中不存在私钥"。

我尝试使用我创建的自签名证书,请求消息看起来应该(当然身份验证失败(。

<basicHttpBinding >             
<binding name="VerificacionJugadoresBinding">
<security mode="TransportWithMessageCredential" >
<message clientCredentialType="Certificate"/>
</security>
</binding>
</basicHttpBinding >
myClient.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(@"myCert.cer");

有没有办法在没有私钥的情况下完成此操作?除了 WCF 之外,还有其他选择吗?不过,它必须在 .NET 中。

谢谢

证书客户端的消息安全性不需要服务证书的私钥。我们只需要建立服务器和客户端之间的信任关系,即我们应该在客户端的 RootCA 中安装服务器的服务证书,而服务器应该在服务器端 RootCA 中安装客户端证书。
请参考以下文档。

https://learn.microsoft.com/en-us/dotnet/framework/wcf/feature-details/message-security-with-a-certificate-client 如果问题仍然存在,请随时告诉我。

最新更新