我有一个客户端将 SOAP 消息发送到我创建的 Spring Web 服务端点。消息经过签名和加密,我成功解密了消息,并使用我们各自的公钥/私钥对我的回复进行了签名/加密。我通过使用在应用程序上下文 xml 中配置的安全拦截器 (wss4j) 来做到这一点。问题是,似乎使用这种配置,我只能使用来自客户端的一个证书。现在,客户端想要发送相同的请求,但同时来自两个不同的系统,因此他们将使用两个证书。我的问题是,有没有一种方法/策略可以在我的端点中构建一些智能,以根据收到的消息确定哪个证书?我可以查看肥皂标题中的签名吗?我可以在应用程序上下文中使用拦截器配置它还是需要另一种方法?