Signature/Encryption Interdependency

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
               :
  <ds:Reference URI="#order" /> 
</ds:Signature>
               :

<Order Id="order">
           :
  <xenc:EncryptedData> ... </xenc:EncryptedData> (encrypted BEFORE signing)
  <xenc:EncryptedData> ... </xenc:EncryptedData> (encrypted AFTER signing)
  <xenc:EncryptedData> ... </xenc:EncryptedData>
           :
</Order>

Proposed Solutions - 1

Proposed Solutions - 2

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
               :
  <ds:Transform Algorithm="http://www.w3.org/2000/10/xmlenc#decrypt">    <xenc:Reference URI="#encData2"/>
     <xenc:Reference URI="#encData3"/>
  </ds:Transform>
</ds:Signature>
               :

<Order Id="order">
           :
  <xenc:EncryptedData id="encData1"> ... </xenc:EncryptedData>
  <xenc:EncryptedData id="encData2"> ... </xenc:EncryptedData>
  <xenc:EncryptedData id="encData3"> ... </xenc:EncryptedData>
           :
</Order>

Proposed Solutions - 3

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
               :
  <ds:Transform Algorithm="http://www.w3.org/2000/10/xmlenc#noDecrypt">    <xenc:EncryptedReference URI="#encData1"/>
  </ds:Transform>
</ds:Signature>
               :

<Order Id="order">
           :
  <xenc:EncryptedData id="encData1"> ... </xenc:EncryptedData>
  <xenc:EncryptedData id="encData2"> ... </xenc:EncryptedData>
  <xenc:EncryptedData id="encData3"> ... </xenc:EncryptedData>
           :
</Order>

Our Proposal

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
               :
  <ds:Transform Algorithm="http://www.w3.org/2000/10/xmlenc#decrypt">    <xenc:EncryptedReference URI="#encData1"/>
  </ds:Transform>
</ds:Signature>
               :

<Order Id="order">
           :
  <xenc:EncryptedData id="encData1"> ... </xenc:EncryptedData>
  <xenc:EncryptedData id="encData2"> ... </xenc:EncryptedData>
  <xenc:EncryptedData id="encData3"> ... </xenc:EncryptedData>
           :
</Order>

Discussions

Parse a Node-Set In Context