- From: Ryan Sleevi <sleevi@google.com>
- Date: Wed, 6 Nov 2013 15:20:52 -0800
- To: Nick Van den Bleeken <Nick.Van.den.Bleeken@inventivegroup.com>
- Cc: "public-webcrypto@w3.org" <public-webcrypto@w3.org>
- Message-ID: <CACvaWvYOiBKbd4S1MZvONsc92NP0ew4me0kHdWmEVZZPGZtWow@mail.gmail.com>
On Wed, Nov 6, 2013 at 3:08 AM, Nick Van den Bleeken < Nick.Van.den.Bleeken@inventivegroup.com> wrote: > Hi, > > I’m a bit puzzled what the baseKey parameter should be for deriveKey > when using the PBKDF2 algorithm (my guess is just a null object). > > The function signature of deriveKey is: > > Promise<any> deriveKey(AlgorithmIdentifier algorithm, > Key baseKey, > AlgorithmIdentifier? derivedKeyType, > optional boolean extractable = false, > optional KeyUsage[] keyUsages = []); > > > algorithm would be something like {name: “PBKDF2”, salt: mySalt, > iterations: 100000, password: myPassword, prf:{name:“HMAC”, hash: > {name=“SHA-1”} } > derivedKeyType could be something like {name: “ AES-GCM”, iv: myIV, > length: 512} > extractable and keyUsage are trivial, just the values that you want them > to be ;) > > The baseKey is not required in this use case because all information is > already available to derive the AES-GCM key. > > The spec hints with a note, that if the password is omitted, the user > agent prompts for a password, so it doesn’t make sense to get the password > in a key as input for the keyDerivation. > > Another option would be to providing the password (and the salt?) as > input (baseKey) to deriveKey, but this is inconsistent with how we handle > parameters in the rest of the spec. > > It would be welcome to add a note to the spec if a null value is > required for the baseKey parameter in the deriveKey function for PBKDF2, > because I think other people might also so puzzled when reading the spec... > > Kind regards, > > Nick > > Relevant references to the spec: > 1: > https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html#subtlecrypto-interface > 2: > https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html#pbkdf2 > > Excellent point. Would you mind filing a spec bug on this? baseKey cannot be NULL, given the IDL specified. One possibility is to treat PBKDF2 as a generateKey method instead. Another would be to make baseKey nullable, but that seems a bit odd. > ------------------------------ > > Inventive Designers' Email Disclaimer: > http://www.inventivedesigners.com/email-disclaimer >
Received on Wednesday, 6 November 2013 23:21:19 UTC