首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache / WSS4J证书验证

Apache / WSS4J证书验证
EN

Stack Overflow用户
提问于 2012-01-30 11:37:13
回答 1查看 2.6K关注 0票数 1

证书(X509)验证执行的唯一方法似乎是:如果对服务器的请求包含已经在服务器的密钥存储库中的证书,则处理请求(与服务器的响应相同)。

请您建议一种通过CRL和根证书验证证书的方法吗?

那么使用spring安全性和cxf的<jaxws:inInterceptors>呢?还找不到教程

PROGRESS试图编写自己的拦截器:

代码语言:javascript
复制
public class MyInInterceptor extends AbstractPhaseInterceptor<Message> {
Logger logger = Logger.getLogger(MyInInterceptor.class);

public MyInInterceptor() {
    super(Phase.PRE_PROTOCOL);

    addAfter(WSS4JInInterceptor.class.getName());
}

private SOAPMessage getSOAPMessage(SoapMessage msg) {
    SAAJInInterceptor.INSTANCE.handleMessage(msg);
    return msg.getContent(SOAPMessage.class);
}

@Override
public void handleMessage(Message message) throws Fault {
    logger.info("custom handleMessage method");

    logger.info("getting a certificate");
    HashMap engine = (HashMap) message.get("wss4j.signature.result");
    X509Certificate certificate = (X509Certificate) engine.get("x509-certificate");

    logger.info("parsing certificate");

}

现在的问题是用任何可能的方式验证证书,比如纯java..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-25 12:36:37

解决方案是开发一个自定义拦截器:

代码语言:javascript
复制
/** 
 * Constructor
*/ 
public SecurityInInterceptor() {
   super(Phase.PRE_PROTOCOL);
   getAfter().add(SAAJInInterceptor.class.getName());
}

解决方案的难点是thisthis的答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9063247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档