java - 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 - Java WSDL Web服务获取客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584150/

相关文章:

java - 为什么Teradata FaSTLoad这么慢?

java - 我如何将 1 亿行加载到内存中

android - android apk发布与Web服务

c# - 更改创建 XML 阅读器时使用的 XmlDictionaryReaderQuotas 对象的 MaxArrayLength 属性

xml - SOAP::Lite 生成 <c-gensym .. > 我如何摆脱它?

java - 如何在度,分,秒之间转换为十进制坐标

java - 如果用户输入的整数不符合我的条件,如何结束控制台?

java - HashMap 通过 SOAP 从 Java 到 PHP 再返回

c# - 在 C# 中将 Soap XML 解析为对象

ruby - Ruby Savon如何设置verify_callback