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

我基本上需要确保我对此服务的请求。

我已经提供了一个JAR测试客户端和两个文件, trust.jksClient.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(); ? service.MyRequest(myParameters); 

应正确设置服务器设置。

我摸索着使用X509Certificate2方法,但我不能提出一些有意义的东西,所以答案是“你尝试了什么?” 现在的问题是“我真的不知道首先要尝试什么”。

任何帮助将非常感激。

结果我不需要对JKS文件做任何事情。

 wsReferenceClient service = new wsReferenceClient(); X509Certificate2 cert = new X509Certificate2(); cert.Import("Client.pfx", "", DefaultKeySet); service.ClientCertificates.Add(cert); service.MyRequest(myParameters); 

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