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