java - 基于使用 wsdl2java 创建的 stub 将客户端证书附加到 Web 服务调用

标签 java web-services certificate

我已经创建了用于使用 wsdl2java 的 Web 服务的 stub 类,但我需要为传输指定一个客户端证书。我该怎么做?

在 .NET 中,我习惯于在调用之前直接将 X509Certificate 对象附加到类似的 stub 类。

最佳答案

在 Java 中,您有几个选择:

  • 指定 java.net.ssl* 参数来设置证书库、密码等。您需要使用 keytool 来设置这些对象。

这是代码,或者这些可以在命令行上用-D指定。请注意,这些对于您的应用来说是全局的。

System.setProperty("javax.net.ssl.keyStore", "myKeyStore.p12");
System.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
  • 创建一个自定义 SSLFactory,它在较低级别配置您的证书并将其设置在您的 WS 上下文中。你可以google为此,可以在那里找到很多信息。还要检查 this question (作者说它用于 JAX-RPC,但在评论中他将他的实现更改为 JAX-WS)。

您可以在 JSSE docs 中找到更多信息(这适用于 Java 1.5)。

关于java - 基于使用 wsdl2java 创建的 stub 将客户端证书附加到 Web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107533/

相关文章:

.net - 找不到 WCF 服务器证书 key 集,找不到私钥

Java如何转义url参数中的 "&"字符?

java - 我如何使用 string#split 将字符串与分隔符 + - */( ) 和空格分开并将它们保留为额外的标记?

java - Catalina.out 中的错误 "org.apache.catalina.realm.CombinedRealm startInterna"

web-services - 未找到 Java 类型 myPackage.B 类和 MIME 媒体类型 application/octet-stream 的消息正文编写器

ssl - 限制 Dropwizard 中的某些端点/路径

java - 如何设置ImageButton的背景图片?

java - JFace:带有特定节点复选框的 CheckboxTreeviewer

java - 如何使用多线程聚合两个 Web 服务?

java - 使用 Java 将 Windows 商店中的证书导出到 p12 文件