使用JKS和/或PFX证书从C#客户端调用Java Web服务

我基本上需要确保对这项服务的要求。

已经为我提供了一个JAR测试客户端和两个文件,trust.jks以及Client.pfx,但是我不知道如何使用它们:我了解X509Certificate2类以某种方式涉及。

执行测试客户端的命令行如下:

java -Djavax.net.ssl.trustStore=trust.jks -Djavax.net.ssl.trustStorePassword=******** -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.keyStore=Client.pfx -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStorePassword=******** -jar TestClient.jar https://myServiceurl

它可以正常工作,因此我既可以看到服务,也应该正确配置服务本身。

我的C#客户端(针对.NET 2.0)使用普通的Web参考来执行请求:

wsReferenceClient service = new wsReferenceClient();

//certificate code here ?

//maybe service.ClientCertificates.Add(<X509Certificate2 object built somehow>); ?

service.MyRequest(myParameters);

服务器设置应正确设置。

我摸索了这些X509Certificate2方法,但是我无法给出有意义的东西,所以答案是“您尝试了什么?” 目前的问题是“我真的不知道该先尝试什么”。

任何帮助将非常感激。

回答:

原来我不需要对JKS文件做任何事情。

wsReferenceClient service = new wsReferenceClient();

X509Certificate2 cert = new X509Certificate2();

cert.Import("Client.pfx", "<the password>", DefaultKeySet);

service.ClientCertificates.Add(cert);

service.MyRequest(myParameters);

这允许我的HTTPS请求成功通过。

以上是 使用JKS和/或PFX证书从C#客户端调用Java Web服务 的全部内容, 来源链接: utcz.com/qa/405288.html

回到顶部