- From: Magnus Nyström <magnus@rsa.com>
- Date: Tue, 9 Jun 2009 21:46:10 +0200 (W. Europe Daylight Time)
- To: public-xmlsec@w3.org
Since Pratik was asking for it, here's how Kelvin's example would turn out if one leveraged the KeyDerivationMethod type from the Derived Keys document. I'm arguing that leveraging the dkey:KeyDerivationMethod type is more generic and also more inline with existing practice in XMLSec of having a "...MethodType" (like EncryptionMethod in EncryptedData) where you specify the actual algorithm as a URI and then possibly have algorithm-specific parameters as a child element. (If we merged XMLEnc 1.1 and DerivedKeys then the extra namespace would go away, of course). So the example becomes: <xenc:EncryptedData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsig11="http://www.w3.org/2009/xmldsig11#" xmlns:xenc11="http://www.w3.org/2009/xmlenc11#" xmlns:dkey="http://www.w3.org/2009/xmlsec-dkey#" Type="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc" /> <!-- describes the encrypted AES content encryption key --> <ds:KeyInfo> <xenc:EncryptedKey> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/> <!-- describes the key encryption key --> <ds:KeyInfo> <xenc:AgreementMethod Algorithm="http://www.w3.org/2009/xmlenc11#ECDH-ES"> <!-- This is where the change starts --> <dkey:KeyDerivationMethod Algorithm="http://www.w3.org/2009/xmlenc11#SP80056AKDF"> <xenc11:SP80056AConcatKDFParams hashAlgorithm="http://www.w3.org/2001/04/xmlenc#sha256" AlgorithmID="00" PartyUInfo="" PartyVInfo=""/> </dkey:KeyDerivationMethod> <!-- This is where it ends --> <xenc:OriginatorKeyInfo> <ds:KeyValue> <dsig11:ECPublicKey> <!-- ephemeral ECC public key of the originator --> </dsig11:ECPublicKey> </ds:KeyValue> </xenc:OriginatorKeyInfo> <xenc:RecipientKeyInfo> <ds:X509Data> <!-- hint for the recipient's private key --> </ds:X509Data> </xenc:RecipientKeyInfo> </xenc:AgreementMethod> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue><!-- encrypted AES content encryption key --></xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedKey> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue> <!-- encrypted data --> </xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData>
Received on Tuesday, 9 June 2009 19:46:53 UTC