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

时间:2013-09-03 04:36:56

标签: java web-services soap wsdl

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

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

1 个答案:

答案 0 :(得分:1)

这取决于您正在运行的实现。在某些情况下,请求证书可以放在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服务容器实现的供应商的支持。