Java WSDL Web 服务获取客户端证书

标签 java web-services soap wsdl

我有一个用 Java 制作的 SOAP Web 服务,在 Oracle Weblogic 上运行。我需要获取客户端连接应提供的证书,并提取一些信息(IssuerDN)。我该怎么办?

编辑:我认为我遇到的第一件事是如何获取输入流/连接?那么我如何获得证书呢?

最佳答案

这取决于您正在运行的实现。在某些情况下,请求证书可能会放在 SOAPMessageContext 上。如果是这种情况,您可以实现 SOAPhandler 来获取请求中使用的证书。

例如,在 IBM Websphere 的基于 Axis2 的 JAX-WS 实现中,以下代码将检索证书:

public X509Certificate getRequestCertificate(SOAPMessageContext aMessageContext) {
    return ((java.security.cert.X509Certificate) aMessageContext.get("com.ibm.xml.soapsec.RequestCert"));
}

注意,请注意以下事项。 Web 服务容器实现的供应商可能支持上面的代码。

关于Java WSDL Web 服务获取客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584150/

相关文章:

从另一个类调用该方法时,DiscoveryClient 上出现 java.lang.NullPointerException

jquery - 使用 JQuery 调用 WebMethod

java - Documentum:ORDER_BY r_modify_date 花费的时间太长

JavaFx 自定义设计按钮在使用的应用程序中单击检测

asp.net - 我需要指纹 virdi 的 SDK 和示例来查看如何读取拇指并验证它?

java - Java 中的 SOAP Web 服务客户端

TypeScript 文件中的 JavaScript 引用

java - 将自定义元素添加到 Spring WS 中的 SOAP header

java - Java7 中的小程序在签署 jar 后无法工作

java - 签名和加密策略