You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wss4j-dev@ws.apache.org by ro...@bt.com on 2006/08/17 12:04:03 UTC
Problem in signing SOAP request
Hi,
I am trying to sign a SOAP request (axis) using wss4j + xmlsec libraries. Following is my client code:
void addSignature(SOAPHeaderElement secHeader) {
WSSecSignature secSign = new WSSecSignature();
secSign.setUserInfo("1","password");
secSign.setSignatureAlgorithm(WSConstants.RSA);
secSign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
WSSecHeader wssh = new WSSecHeader();
wssh.setMustUnderstand(true);
wssh.insertSecurityHeader(secHeader.getOwnerDocument());
try {
secSign.build(secHeader.getOwnerDocument(),CryptoFactory.getInstance(),wssh);
} catch (WSSecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
....
However, i am getting the following exception :
org.apache.ws.security.WSSecurityException: Signature creation failed (Cannot setup signature data structure)
at org.apache.ws.security.message.WSSecSignature.prepare(WSSecSignature.java:323)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:643)
...(others)
On debugging, i found the original exception to be:
org.apache.xml.security.exceptions.XMLSecurityException: Cannot create a http://www.w3.org/2000/09/xmldsig#:ds:SignatureMethod from a http://www.w3.org/2000/09/xmldsig#:SignatureMethod element
Can someone tell me where the problem is?
Further, in order to do away with these errors for now i made some changes in xml-sec source (Some different method calls in a few classes). The above error went away, but now i am getting this:
org.apache.ws.security.WSSecurityException: Signature creation failed; nested exception is:
java.lang.NullPointerException
at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:606)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:668)
at test.SecurityHandler.addSignature(SecurityHandler.java:131)
at test.SecurityHandler.invoke(SecurityHandler.java:69)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:121)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.bt.platform.sdk.web.messagingandpresence.MessagingAndPresenceSoapBindingStub.signon(MessagingAndPresenceSoapBindingStub.java:1893)
at test.TestPresence.main(TestPresence.java:33)
Caused by: java.lang.NullPointerException
at org.apache.ws.security.util.WSSecurityUtil.getSOAPConstants(WSSecurityUtil.java:672)
at org.apache.ws.security.message.EnvelopeIdResolver.engineResolve(EnvelopeIdResolver.java:100)
at org.apache.xml.security.utils.resolver.ResourceResolver.resolve(ResourceResolver.java:246)
at org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:405)
at org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:617)
at org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:694)
at org.apache.xml.security.signature.Reference.generateDigestValue(Reference.java:366)
at org.apache.xml.security.signature.Manifest.generateDigestValues(Manifest.java:180)
at org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:491)
at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:599)
Can someone please help me out?
Thanks,
Rohit Ranjan.
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
RE: Problem in signing SOAP request
Posted by ro...@bt.com.
Got my mistake, i was not taking out the document object from SOAPEnvelope as env.getAsDocument(). It is signing the request now.
-----Original Message-----
From: rohit.ranjan@bt.com [mailto:rohit.ranjan@bt.com]
Sent: Thu 8/17/2006 3:34 PM
To: wss4j-dev@ws.apache.org
Subject: Problem in signing SOAP request
Hi,
I am trying to sign a SOAP request (axis) using wss4j + xmlsec libraries. Following is my client code:
void addSignature(SOAPHeaderElement secHeader) {
WSSecSignature secSign = new WSSecSignature();
secSign.setUserInfo("1","password");
secSign.setSignatureAlgorithm(WSConstants.RSA);
secSign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
WSSecHeader wssh = new WSSecHeader();
wssh.setMustUnderstand(true);
wssh.insertSecurityHeader(secHeader.getOwnerDocument());
try {
secSign.build(secHeader.getOwnerDocument(),CryptoFactory.getInstance(),wssh);
} catch (WSSecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
....
However, i am getting the following exception :
org.apache.ws.security.WSSecurityException: Signature creation failed (Cannot setup signature data structure)
at org.apache.ws.security.message.WSSecSignature.prepare(WSSecSignature.java:323)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:643)
...(others)
On debugging, i found the original exception to be:
org.apache.xml.security.exceptions.XMLSecurityException: Cannot create a http://www.w3.org/2000/09/xmldsig#:ds:SignatureMethod from a http://www.w3.org/2000/09/xmldsig#:SignatureMethod element
Can someone tell me where the problem is?
Further, in order to do away with these errors for now i made some changes in xml-sec source (Some different method calls in a few classes). The above error went away, but now i am getting this:
org.apache.ws.security.WSSecurityException: Signature creation failed; nested exception is:
java.lang.NullPointerException
at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:606)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:668)
at test.SecurityHandler.addSignature(SecurityHandler.java:131)
at test.SecurityHandler.invoke(SecurityHandler.java:69)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:121)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.bt.platform.sdk.web.messagingandpresence.MessagingAndPresenceSoapBindingStub.signon(MessagingAndPresenceSoapBindingStub.java:1893)
at test.TestPresence.main(TestPresence.java:33)
Caused by: java.lang.NullPointerException
at org.apache.ws.security.util.WSSecurityUtil.getSOAPConstants(WSSecurityUtil.java:672)
at org.apache.ws.security.message.EnvelopeIdResolver.engineResolve(EnvelopeIdResolver.java:100)
at org.apache.xml.security.utils.resolver.ResourceResolver.resolve(ResourceResolver.java:246)
at org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:405)
at org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:617)
at org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:694)
at org.apache.xml.security.signature.Reference.generateDigestValue(Reference.java:366)
at org.apache.xml.security.signature.Manifest.generateDigestValues(Manifest.java:180)
at org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:491)
at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:599)
Can someone please help me out?
Thanks,
Rohit Ranjan.
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
RE: Problem in signing SOAP request
Posted by ro...@bt.com.
Got my mistake, i was not taking out the document object from SOAPEnvelope as env.getAsDocument(). It is signing the request now.
-----Original Message-----
From: rohit.ranjan@bt.com [mailto:rohit.ranjan@bt.com]
Sent: Thu 8/17/2006 3:34 PM
To: wss4j-dev@ws.apache.org
Subject: Problem in signing SOAP request
Hi,
I am trying to sign a SOAP request (axis) using wss4j + xmlsec libraries. Following is my client code:
void addSignature(SOAPHeaderElement secHeader) {
WSSecSignature secSign = new WSSecSignature();
secSign.setUserInfo("1","password");
secSign.setSignatureAlgorithm(WSConstants.RSA);
secSign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
WSSecHeader wssh = new WSSecHeader();
wssh.setMustUnderstand(true);
wssh.insertSecurityHeader(secHeader.getOwnerDocument());
try {
secSign.build(secHeader.getOwnerDocument(),CryptoFactory.getInstance(),wssh);
} catch (WSSecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
....
However, i am getting the following exception :
org.apache.ws.security.WSSecurityException: Signature creation failed (Cannot setup signature data structure)
at org.apache.ws.security.message.WSSecSignature.prepare(WSSecSignature.java:323)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:643)
...(others)
On debugging, i found the original exception to be:
org.apache.xml.security.exceptions.XMLSecurityException: Cannot create a http://www.w3.org/2000/09/xmldsig#:ds:SignatureMethod from a http://www.w3.org/2000/09/xmldsig#:SignatureMethod element
Can someone tell me where the problem is?
Further, in order to do away with these errors for now i made some changes in xml-sec source (Some different method calls in a few classes). The above error went away, but now i am getting this:
org.apache.ws.security.WSSecurityException: Signature creation failed; nested exception is:
java.lang.NullPointerException
at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:606)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:668)
at test.SecurityHandler.addSignature(SecurityHandler.java:131)
at test.SecurityHandler.invoke(SecurityHandler.java:69)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:121)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.bt.platform.sdk.web.messagingandpresence.MessagingAndPresenceSoapBindingStub.signon(MessagingAndPresenceSoapBindingStub.java:1893)
at test.TestPresence.main(TestPresence.java:33)
Caused by: java.lang.NullPointerException
at org.apache.ws.security.util.WSSecurityUtil.getSOAPConstants(WSSecurityUtil.java:672)
at org.apache.ws.security.message.EnvelopeIdResolver.engineResolve(EnvelopeIdResolver.java:100)
at org.apache.xml.security.utils.resolver.ResourceResolver.resolve(ResourceResolver.java:246)
at org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:405)
at org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:617)
at org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:694)
at org.apache.xml.security.signature.Reference.generateDigestValue(Reference.java:366)
at org.apache.xml.security.signature.Manifest.generateDigestValues(Manifest.java:180)
at org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:491)
at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:599)
Can someone please help me out?
Thanks,
Rohit Ranjan.
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org