- From: Takeshi Imamura <IMAMU@jp.ibm.com>
- Date: Tue, 5 Mar 2002 00:49:25 +0900
- To: reagle@w3.org, merlin <merlin@baltimore.ie>
- Cc: "Hiroshi Maruyama" <MARUYAMA@jp.ibm.com>, xml-encryption@w3.org
>> We may need a fragment of text to further clarify XPointer support >> when it is applied to a different document from the signature. >> In such a case, here() is an error and the XPointer initial context >> is the root of the new document? We don't have this problem with >> XPointers in dsig because they always refer to the same document. > >I'm not sure I understand this, I'll defer to the authors. <smile/> Merlin, you are right. As you say, we should add some text for XPointer support. Can you suggest it? >> On a separate note, should we profile the decryption transform to >> allow non-XML content (output is an octet stream)? > >We discussed the scenario below in September and Hiroshi suggested we would >need a new function: > Instead, we should define a new function that decrypts an > xenc:EncryptedData element with a type other than Element > or Content to an octet stream. Also we have to state that > when such an xenc:EncryptedData element is being > decrypted, the input to the transform has to be a node-set > that has the xenc:EncryptedData element as the first node. > http://lists.w3.org/Archives/Public/xml-encryption/2001Oct/0000.html > >As is my tendency I tend not to push for something unless someone says they >want it. Hiroshi/Takeshi, is Merlin's usage scenario the same as what you >were thinking? If so, would you like to propose some text? If such a scenario is necessary, we could support it by changing the processing rules slightly. They would be roughly as follows: Z = decryptIncludedNodes(X, R) 1. Select an EncryptedData element within X (say e) that is not referenced by any Except element in R, or return X if such e cannot be selected. 2. If the value of the Type attribute of e is Element or Content, 2.1. Let C be a parsing context of X. 2.2. Let Y be decrypt1(X, e, C). If this function succeeds, replace X with Y. 2.3. Go to Step 1. Else 2.4. Let Y' be decrypt2(X, e). 2.5. Return Y'. Y = decrypt1(X, e, C) 1. Let Y' be decrypt2(X, e). 2. Wrap Y'in the context of C into an octet stream. 3. Parse the octet stream into a node-set. 4. Trim the node-set into Y. 5. Return Y. Y' = decrypt2(X, e) 1. Convert X into an octet stream. 2. Decrypt the element corresponding to e and replace it with the resulting octet stream into Y'. 3. Return Y'. Note that the input is still a node-set and the output is a node-set or octet stream depending on the input. Thanks, Takeshi IMAMURA Tokyo Research Laboratory IBM Research imamu@jp.ibm.com
Received on Monday, 4 March 2002 11:19:43 UTC