org.apache.ws.security.components.crypto.Merlin无法创建实例:java.lang.IllegalArgumentException:name

时间:2017-11-21 20:24:18

标签: java cxf

我收到此错误

  

org.apache.ws.security.components.crypto.Merlin无法创建实例   :java.lang.IllegalArgumentException:name

//Crypto.properties file
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.merlin
org.apache.ws.security.crypto.merlin.keystore.file=abc.jks
org.apache.ws.security.crypto.merlin.keystore.password=abc
org.apache.ws.security.crypto.merlin.keystore.type=jks

//Java code
Map<QName, Object> processorMap = new HashMap<QName, Object>();
processorMap.put(WSSecurityEngine.SIGNATURE, signatureQName);
serverOutParams.put("wss4j.processor.map", processorMap);
serverOutParams.put(WSHandlerConstants.SIG_DIGEST_ALGO, "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
serverOutParams.put(WSHandlerConstants.SIG_ALGO, "http://www.w3.org/2001/04/xmlenc#sha256");

// for outgoing messages: Signature and Timestamp validation

serverOutParams.put(WSHandlerConstants.ACTION, WSHandlerConstants.ENCRYPT);

serverOutParams.put(WSHandlerConstants.USER, "myalias");
serverOutParams.put(WSHandlerConstants.PW_CALLBACK_CLASS, WSS4JCallbackHandlerImpl.class.getName());
serverOutParams.put(WSHandlerConstants.ENC_PROP_FILE, "crypto.properties");
serverOutParams.put(WSHandlerConstants.SIG_PROP_FILE, "crypto.properties");
serverOutParams.put(WSHandlerConstants.ENCRYPTION_PARTS,
                "{}{http://schemas.xmlsoap.org/soap/envelope/}Body;{}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp}");

WSS4JOutInterceptor wssOutInterceptor = new WSS4JOutInterceptor(outProps);
cxfEndpoint.getOutInterceptors().add(wssOutInterceptor);

0 个答案:

没有答案