- From: Amir Herzberg <AMIR@newgenpay.com>
- Date: Wed, 12 Sep 2001 10:00:40 +0300
- To: "'merlin'" <merlin@baltimore.ie>, reagle@w3.org
- Cc: XML Encryption WG <xml-encryption@w3.org>
Merlin said, > Just to clarify, my understanding of Amir's digest requirement is: > > . To create a document with multiple encrypted parts. More precisely, with one or more encrypted parts, as the hash (digest) of the plaintext is required even if we need to sign a document with a single encrypted part. > . To include a digest of the plaintext part in each EncryptedData. > . To compute a signature over these digests. > > The purpose of this is that you can validate the signature > fully, and then selectively validate individual plaintexts > depending on your needs. Again, more precisely `... and then selectively validate the plaintext (or individual plaintexts)... > > I would suggest that this requirement is satisfied by > XML signature manifests and our decryption transform: > > . Create a document with multiple encrypted parts. > . Create a manifest containing a reference to each EncryptedData > processed by our decryption transform. > . Create a signature over this manifest. This is exactly the alternate solution I described in the teleconf. I think it can work, but I have the following minor issues with it: 1. Manifest is an optional element of DSIG. We'll require its use (even if we sign a single encrypted document). 2. I'm afraid implementors will not understand how and when to use this. At least, I think this must be well documented - I think in XML encryption spec. 3. I'm not sure how the Reference elements in the Manifest will identify the hashed elements. They need to refer to the decrypted value of an EncryptedData element - how do you do this? Due to these issues I prefer to leave the DigestValue of the plaintext as an optional element in EncryptedData. But if people prefer and if we can resolve the above issues, I'm Ok with the alternate solution. Best, Amir Herzberg
Received on Wednesday, 12 September 2001 03:01:04 UTC