Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-6900

invalid signature in case of soap fault

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.3
    • Fix Version/s: 3.1.7
    • Component/s: WS-* Components
    • Labels:
      None
    • Environment:

      windows 2008 jdk 1.6.0_45

    • Estimated Complexity:
      Unknown

      Description

      Hello,

      Having signature verification problems on the cxf client-side with a .NET Ws-fed protected webservice, I ask you a little help...
      Here is a summary of the problem :
      Most of the time, communication works well excepted when we got a soap fault message.
      Indeed signature validation works usually well excepted when
      we receive a fault message inside the body of the soap message. Even In this boundary case, signature verification works well excepted for one element, the fault message (see the enclosed server7.log file).

      After digging a bit, i've found that the calculated digest couldn't be equal to the claimed one because the content of the message given to the DigesterOutpustrream is not well canonicalized or normalized.

      Partial decrypted msg

      ...
      <s:Body u:Id="_3">
      <Fault xmlns="http://www.w3.org/2003/05/soap-envelope"><Code><Value>DataNotFoundFault</Value></Code><Reason><Text xml:lang="nl-BE">ContextContactInfo with Id '1' does not exist.</Text></Reason><Detail><DataNotFoundFault xmlns="http://schemas.riziv.fgov.be/contact/2015/08/faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ErrorCode>ContextContactInfoNotFound</ErrorCode><Message>ContextContactInfo with Id '1' does not exist.</Message></DataNotFoundFault></Detail></Fault>
      </s:Body>
      ...

      Predigested input :

      <s:Body xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" u:Id="_3"><env:Fault><Code xmlns="http://www.w3.org/2003/05/soap-envelope"><Value>DataNotFoundFault</Value></Code><Reason xmlns="http://www.w3.org/2003/05/soap-envelope"><Text xml:lang="nl-BE">ContextContactInfo with Id '1' does not exist.</Text></Reason><env:Detail><DataNotFoundFault xmlns="http://schemas.riziv.fgov.be/contact/2015/08/faults"><ErrorCode>ContextContactInfoNotFound</ErrorCode><Message>ContextContactInfo with Id '1' does not exist.</Message></DataNotFoundFault></env:Detail></env:Fault></s:Body>

      Could you please check this problem and give me an advice ?

      The library used are :

      cxf 3.0.3
      wss4j 2.0.2
      xmlsec 2.0.2

      on a jdk 1.6.0_45

      Thanks in advance
      David L

        Attachments

        1. server7.log
          453 kB
          david leruse

          Issue Links

            Activity

              People

              • Assignee:
                coheigea Colm O hEigeartaigh
                Reporter:
                david.leruse@gmail.com david leruse
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: