Either the Assertion isn't added to the security header prior to signing,
or else the Id isn't stored on the context...

Colm.

On Tue, Nov 25, 2014 at 4:51 PM, <stephen.ctr.chapp...@faa.gov> wrote:

> I'm occasionally getting the below exception thrown out when (I think)
> WSS4J tries to sign an Assertion. I can see the referenced ID getting
> created by the AssertionWrapper, but sometime after that this exception is
> coming out, but only under certain conditions that I'm still trying to
> identify. Does anyone know what could cause this?
>
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:742)
>                 at
> org.apache.xml.security.signature.Reference.generateDigestValue(Reference.java:406)
>                 at
> org.apache.xml.security.signature.Manifest.generateDigestValues(Manifest.java:206)
>                 at
> org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:609)
>                 at
> org.opensaml.xml.signature.Signer.signObject(Signer.java:77)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.signObject(OpenSAMLUtil.java:234)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.signXMLObject(OpenSAMLUtil.java:216)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.toDom(OpenSAMLUtil.java:164)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.toDom(OpenSAMLUtil.java:115)
>                 at
> org.apache.ws.security.saml.ext.AssertionWrapper.toDOM(AssertionWrapper.java:305)
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.getElement(WSSecSAMLToken.java:100)
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.prependToHeader(WSSecSAMLToken.java:84)
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.build(WSSecSAMLToken.java:133)
>                 at
> gov.faa.swim.ctk.harness.saml_11.driver.tests.AbstractWssSignatureTest$SamlTokenAction.execute(AbstractWssSignatureTest.java:214)
>                 at
> org.apache.ws.security.handler.WSHandler.doSenderAction(WSHandler.java:232)
>                 at
> org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor.access$200(WSS4JOutInterceptor.java:52)
>                 at
> org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:265)
>                 at
> org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:141)
>                 at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
>                 at
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:570)
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479)
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
>                 at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>                 at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
>                 at com.sun.proxy.$Proxy47.getPerson(Unknown Source)
>                 at
> gov.faa.swim.ctk.harness.wss.common.driver.tests.WsaMapAwarePersonManagerDecorator.getPerson(WsaMapAwarePersonManagerDecorator.java:69)
>                 at
> gov.faa.swim.ssri.wss.examples.common.impl.PersonManagerTestUtil.getPerson(PersonManagerTestUtil.java:44)
>                 at
> gov.faa.swim.ctk.harness.wss.common.driver.tests.PersonManagerTestStrategy.sendRequest(PersonManagerTestStrategy.java:18)
>                 at
> gov.faa.swim.ctk.harness.saml_11.driver.tests.AbstractWssSignatureTest.testNoSignature(AbstractWssSignatureTest.java:153)
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>                 at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>                 at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                 at java.lang.reflect.Method.invoke(Method.java:597)
>                 at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>                 at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>                 at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>                 at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>                 at
> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
>                 at
> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)
>                 at
> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
>                 at
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
>                 at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>                 at
> org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>                 at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>                 at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>                 at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>                 at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>                 at
> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
>                 at
> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
>                 at
> org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>                 at
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
>                 at
> gov.faa.swim.ctk.harness.junit.InterruptableCompositeRunner.runChildren(InterruptableCompositeRunner.java:70)
>                 at
> gov.faa.swim.ctk.harness.junit.CompositeRunner.run(CompositeRunner.java:36)
>                 at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>                 at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
>                 at
> gov.faa.swim.ctk.harness.junit.JUnitHarness$JUnitWorker.run(JUnitHarness.java:344)
>                 at java.lang.Thread.run(Thread.java:662)
> Caused by:
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:614)
>                 at
> org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:716)
>                 ... 57 more
> Caused by:
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:429)
>                 at
> org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:607)
>                 ... 58 more
> Caused by:
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.utils.resolver.implementations.ResolverFragment.engineResolveURI(ResolverFragment.java:85)
>                 at
> org.apache.xml.security.utils.resolver.ResourceResolver.resolve(ResourceResolver.java:298)
>                 at
> org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:427)
>                 ... 59 more
> 02:52:47,833 | WARN  | K-Saml11Driver-1 | PhaseInterceptorChain
> | ache.cxf.common.logging.LogUtils  452 | Interceptor for {
> http://faa.gov/swim/ssri/examples/2010/07/services}PersonManagerService#{http://faa.gov/swim/ssri/examples/2010/07/specs/personmanager}GetPerson
> has thrown exception, unwinding now
> java.lang.RuntimeException: org.apache.ws.security.WSSecurityException:
> Error signing a SAML assertion
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.prependToHeader(WSSecSAMLToken.java:89)
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.build(WSSecSAMLToken.java:133)
>                 at
> gov.faa.swim.ctk.harness.saml_11.driver.tests.AbstractWssSignatureTest$SamlTokenAction.execute(AbstractWssSignatureTest.java:214)
>                 at
> org.apache.ws.security.handler.WSHandler.doSenderAction(WSHandler.java:232)
>                 at
> org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor.access$200(WSS4JOutInterceptor.java:52)
>                 at
> org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:265)
>                 at
> org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:141)
>                 at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
>                 at
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:570)
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479)
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
>                 at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>                 at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
>                 at com.sun.proxy.$Proxy47.getPerson(Unknown Source)
>                 at
> gov.faa.swim.ctk.harness.wss.common.driver.tests.WsaMapAwarePersonManagerDecorator.getPerson(WsaMapAwarePersonManagerDecorator.java:69)
>                 at
> gov.faa.swim.ssri.wss.examples.common.impl.PersonManagerTestUtil.getPerson(PersonManagerTestUtil.java:44)
>                 at
> gov.faa.swim.ctk.harness.wss.common.driver.tests.PersonManagerTestStrategy.sendRequest(PersonManagerTestStrategy.java:18)
>                 at
> gov.faa.swim.ctk.harness.saml_11.driver.tests.AbstractWssSignatureTest.testNoSignature(AbstractWssSignatureTest.java:153)
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>                 at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>                 at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                 at java.lang.reflect.Method.invoke(Method.java:597)
>                 at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>                 at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>                 at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>                 at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>                 at
> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
>                 at
> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)
>                 at
> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
>                 at
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
>                 at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>                 at
> org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>                 at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>                 at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>                 at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>                 at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>                 at
> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
>                 at
> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
>                 at
> org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>                 at
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
>                 at
> gov.faa.swim.ctk.harness.junit.InterruptableCompositeRunner.runChildren(InterruptableCompositeRunner.java:70)
>                 at
> gov.faa.swim.ctk.harness.junit.CompositeRunner.run(CompositeRunner.java:36)
>                 at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>                 at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
>                 at
> gov.faa.swim.ctk.harness.junit.JUnitHarness$JUnitWorker.run(JUnitHarness.java:344)
>                 at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.ws.security.WSSecurityException: Error signing a
> SAML assertion
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.signObject(OpenSAMLUtil.java:236)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.signXMLObject(OpenSAMLUtil.java:216)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.toDom(OpenSAMLUtil.java:164)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.toDom(OpenSAMLUtil.java:115)
>                 at
> org.apache.ws.security.saml.ext.AssertionWrapper.toDOM(AssertionWrapper.java:305)
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.getElement(WSSecSAMLToken.java:100)
>                 at
> org.apache.ws.security.message.WSSecSAMLToken.prependToHeader(WSSecSAMLToken.java:84)
>                 ... 46 more
> Caused by: org.opensaml.xml.signature.SignatureException: Signature
> computation error
>                 at
> org.opensaml.xml.signature.Signer.signObject(Signer.java:80)
>                 at
> org.apache.ws.security.saml.ext.OpenSAMLUtil.signObject(OpenSAMLUtil.java:234)
>                 ... 52 more
> Caused by:
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:742)
>                 at
> org.apache.xml.security.signature.Reference.generateDigestValue(Reference.java:406)
>                 at
> org.apache.xml.security.signature.Manifest.generateDigestValues(Manifest.java:206)
>                 at
> org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:609)
>                 at
> org.opensaml.xml.signature.Signer.signObject(Signer.java:77)
>                 ... 53 more
> Caused by:
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:614)
>                 at
> org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:716)
>                 ... 57 more
> Caused by:
> org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
> Original Exception was
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:429)
>                 at
> org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:607)
>                 ... 58 more
> Caused by:
> org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot
> resolve element with ID _68643B865B7F1CFBAA14169019677911206
>                 at
> org.apache.xml.security.utils.resolver.implementations.ResolverFragment.engineResolveURI(ResolverFragment.java:85)
>                 at
> org.apache.xml.security.utils.resolver.ResourceResolver.resolve(ResourceResolver.java:298)
>                 at
> org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:427)
>                 ... 59 more
>
> Thanx,
> Stephen W. Chappell
>



-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to