[
https://issues.apache.org/jira/browse/CXF-7536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16215299#comment-16215299
]
Colm O hEigeartaigh commented on CXF-7536:
------------------------------------------
With the fix, you should be able to leave out the SignedSupportingToken policy
element, and the XPath expression will sign the SAML InitiatorToken correctly
using a STR Transform. The next set of releases will be available probably in
3/4 weeks.
> 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)