Is there a way of using this technique described in to load 2 different keystores rather than just 1? Construct Properties object in-memory, and have CXF use that instead.
package soap.common.interceptors; import client.clientmgr.ClientInfo; import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor; import org.apache.ws.security.WSSecurityException; import org.apache.ws.security.components.crypto.Crypto; import org.apache.ws.security.components.crypto.CryptoFactory; import org.apache.ws.security.handler.RequestData; import java.util.Map; import java.util.Properties; public class CryptoPropsOutInterceptor extends WSS4JOutInterceptor { private ClientInfo clientInfo; public CryptoPropsOutInterceptor(Map<String, Object> props, ClientInfo clientInfo) { super(props); this.clientInfo = clientInfo; } @Override protected Crypto loadCryptoFromPropertiesFile(String propFilename, RequestData reqData) throws WSSecurityException { Properties cxfProps = new Properties(); cxfProps.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin"); cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks"); cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.alias", this.clientInfo.getSignAlias()); cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", this.clientInfo.getSignPassword()); cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.file", "client/1080.1/client.jks"); //here this would load only one but i would like to load 2 if it's possible // one for signing the other for encrypting. return CryptoFactory.getInstance(cxfProps); } } -- Sent from: http://cxf.547215.n5.nabble.com/cxf-user-f547216.html