[ 
https://issues.apache.org/jira/browse/CXF-7536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16220993#comment-16220993
 ] 

Russell Orf commented on CXF-7536:
----------------------------------

I've tried updating the policy file as you've described, however the behavior I 
see is the same. I've pushed the changes that I tried, including the generated 
SOAP message:

https://github.com/russellorf/service-client/commit/a106cc0539eee62fde361e30e0a84250e54c2f38



> 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)

Reply via email to