Uploaded image for project: 'WSS4J'
  1. WSS4J
  2. WSS-254

Encryption/signing of multiple message parts with same name not working

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.5.4, 1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.5.9, 1.5.10, 1.6
    • 1.6
    • WSS4J Core
    • None
    • all. (found out an a windows vista machine with java 1.6)

    Description

      The current implementation of the class "WSSecEncypt" lookf in the document to encrypt for elements only by their name and namespace (this are the only informations provided by the class "WSEncryptionPart"). The search find the first element with this name and lets encrypt it. If there are other elements with the same name we wish to encrypt it cannot be done. But it is needed if one uses lists of elements
      Following example shows the issue:
      <xml...>
      <soapenv:Envelope>
      <soapenv:Header>
      <myNS:Header1>
      <!-- XML data-->
      </myNS:Header1>
      <myNS:Header2>
      <!-- XML data-->
      <myNS:attachment>
      <!-- some data we don't wish to encrypt -->
      <myNS:attachment>
      </myNS:Header2>
      ...
      <myNS:Attachments>
      <myNS:attachment>
      <!-- 1. binary data base64 encoded -->
      </myNS:attachment>
      <myNS:attachment>
      <!-- 2. binary data base64 encoded -->
      </myNS:attachment>
      <myNS:attachment>
      <!-- 3. binary data base64 encoded -->
      </myNS:attachment>
      ...
      </myNS:Attachments>
      ...
      <myNS:HeaderX>
      <!-- XML data-->
      </myNS:HeaderX>
      </soapenv:Header>
      <soapenv:Body>
      <!-- XML data-->
      </soapenv:Body>
      </soapenv:Envelope>

      if we use the WSEncyrpionPart this way:
      WSEncryptionPart encryptionPart = new WSEncryptionPart("attachment", "myNS-URI", "Content");
      then only the element "Envelope/Header/Header2/attachment" will be encryptet. Thus the one we don't want to encrypt, but the other ones will not be encrypted.

      To solve this problem a XPath support in WSEncryptionPart and WSSecEncryption is to be implemented (and maybe more...)

      Attachments

        1. patch.txt
          142 kB
          Marcin Markiewicz
        2. WSSecEncrypt.java
          26 kB
          Marcin Markiewicz
        3. WSSecEncrypt.java
          26 kB
          Marcin Markiewicz
        4. WSSecEncrypt.java
          34 kB
          Marcin Markiewicz

        Activity

          People

            coheigea Colm O hEigeartaigh
            marcin.markiewicz Marcin Markiewicz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: