[ https://issues.apache.org/jira/browse/CXF-7536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16219810#comment-16219810 ]
Russell Orf commented on CXF-7536: ---------------------------------- I've tried out the fix, and it's not working for me. The SOAP message is getting constructed, however the wsse:SecurityTokenReference block, and it's signature reference, are not present in the request. I've pushed my changes here that tried it out, including the generated SOAP message: https://github.com/russellorf/service-client/commit/c4a90a487ed832db228edcc635ee52e652021179 Please let me know if you'd like me to attach the .war file. > STRTransform TransformException when manually adding SAML Assertion via > SAMLCallback.setAssertionElement() > ---------------------------------------------------------------------------------------------------------- > > Key: CXF-7536 > URL: https://issues.apache.org/jira/browse/CXF-7536 > Project: CXF > Issue Type: Bug > Environment: Apache Tomcat 8.0.37 > Reporter: Russell Orf > Assignee: Colm O hEigeartaigh > Labels: security > Fix For: 3.1.14, 3.2.1 > > Attachments: catalina.out, service-client.war > > > In Apache CXF v3.1.7, I have a JAX-WS web service client calling a service > that requires a HolderOfKey SAML Assertion. The assertions are from a custom > service that does not adhere to the WS-Trust SecureTokenService standard, so > I am adding them manually in a SAMLCallbackHander, using the > callback.setAssertionElement() method. > When invoking the client, the WSS4J framework is unable to compute the > signature for the SecurityTokenReference header block, throwing the below > error: > {{ > javax.xml.crypto.dsig.XMLSignatureException: > javax.xml.crypto.dsig.TransformException: > org.apache.wss4j.common.ext.WSSecurityException: Referenced token > "id-of-SAML-assertion" not found > at > org.apache.wss4j.dom.str.STRParserUtil.getTokenElement(StrParserUtil.java:314) > at > org.apache.wss4j.dom.transform.STRTransformUtil.dereferenceSTR(STRTransformUtil.java:98) > at > org.apache.wss4j.dom.transform.STRTransform.transformIt(STRTransform.java:195)}} > It appears that the SAML assertion DOM Element that is added via the > callback.setAssertionElement() method is not getting searched by the > STRParserUtil.getTokenElement() method. -- This message was sent by Atlassian JIRA (v6.4.14#64029)