gpt4 book ai didi

java - Apache CXF/WSS4J 证书验证

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:32 25 4
gpt4 key购买 nike

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

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

使用 spring security 和 cxf 怎么样 <jaxws:inInterceptors> ?尚未找到教程

进展尝试编写自己的拦截器:

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..

最佳答案

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

/** 
* Constructor
*/
public SecurityInInterceptor() {
super(Phase.PRE_PROTOCOL);
getAfter().add(SAAJInInterceptor.class.getName());
}

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

关于java - Apache CXF/WSS4J 证书验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com