首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.apache.cxf.binding.soap.SoapFault:签名或解密无效

org.apache.cxf.binding.soap.SoapFault:签名或解密无效
EN

Stack Overflow用户
提问于 2015-06-19 16:56:24
回答 1查看 3.7K关注 0票数 1

我们在调用时给出了以下配置细节;我们使用了cxf 3.1.1和JDK 1.7.0_79。

代码语言:javascript
复制
ctx.put(SecurityConstants.CALLBACK_HANDLER,new KeystorePasswordCallback());
ctx.put(SecurityConstants.SIGNATURE_PROPERTIES, Thread.currentThread().
getContextClassLoader().getResource("META-INF/zeph.properties"));
ctx.put(SecurityConstants.ENCRYPT_PROPERTIES, Thread.currentThread().
getContextClassLoader().getResource("META-INF/zeph.properties"));
ctx.put(SecurityConstants.SIGNATURE_USERNAME, "abc");
ctx.put(SecurityConstants.ENCRYPT_USERNAME, "abc");

我们已经使用keytool将.cer (X509证书数据)创建到.jks中

代码语言:javascript
复制
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=Abc123
org.apache.ws.security.crypto.merlin.keystore.alias=abc
org.apache.ws.security.crypto.merlin.keystore.file=META-INF/abckeystore.jks

我们收到以下异常,请给我们建议。

代码语言:javascript
复制
org.apache.cxf.binding.soap.SoapFault: The signature or decryption was invalid
at org.apache.cxf.ws.security.wss4j.WSS4JUtils.createSoapFault(WSS4JUtils.java:213)
at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessageInternal(WSS4JInInterceptor.java:329)
at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:184)

Caused by: org.apache.wss4j.common.ext.WSSecurityException: The signature or decryption was invalid
at org.apache.wss4j.dom.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:450)
at org.apache.wss4j.dom.processor.SignatureProcessor.handleToken(SignatureProcessor.java:225)
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: The signature or decryption was invalid
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:161)
at com.sun.proxy.$Proxy42.calculateRatingReplicatorINPD(Unknown Source)
at TestWsCxf.main(TestWsCxf.java:110)
Caused by: org.apache.wss4j.common.ext.WSSecurityException: The signature or decryption was invalid
at org.apache.wss4j.dom.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:450)
at org.apache.wss4j.dom.processor.SignatureProcessor.handleToken(SignatureProcessor.java:225)
EN

回答 1

Stack Overflow用户

发布于 2015-06-19 23:23:02

您必须启用调试日志记录才能查看错误所在。为什么您使用相同的密钥进行加密和签名...?

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

https://stackoverflow.com/questions/30933980

复制
相关文章

相似问题

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