I have a working service configured in CXF that sends an outgoing signed
SAML token. While configuring a client interceptor (WSS4JInInerceptor in
CXF) I was getting some exceptions. I noticed that the interceptor calls
checkReceiverResults() in WSHandler.java and my actions were not matching
the wsResults in the vector. After further digging I found that in
SAMLTokenProcessor handleToken() the vector wsResults is added with

returnResults.add(
            0,
            new WSSecurityEngineResult(WSConstants.ST_UNSIGNED, assertion)
        );

Is there a reason why WSConstants.ST_SIGNED is not also used?


I ask because when I configured the client I used the corresponding action
WSHandlerConstants.SAML_TOKEN_SIGNED but this does not work and I had to
change it to WSHandlerConstants.SAML_TOKEN_UNSIGNED.  The CXF interceptor
has and ignore actions flag which by passes this check. Is it a ws-sec
specification violation not to check these results?

thanks

Reply via email to