PROPOSAL for ISSUE-12: Should the API distinguish between algorithm and operation parameters?

http://www.w3.org/2012/webcrypto/track/issues/12

Based on the discussion and assuming the acceptance of the proposal in
ISSUE-42 (http://www.w3.org/2012/webcrypto/track/issues/42), I propose the
following:

1) Define a new dictionary, OperationParameters:

dictionary *Operation*Parameters {
};

2) Change the first parameter of encrypt(), decrypt(), sign(), verify() to
be of type OperationParameters

3) Change the base class of the following dictionaries to be
OperationParameters

RsaSsaParams
RsaPssParams
RsaOaepParams
EcdsaParams
AesCtrParams
AesCbcParams
AesGcmParams

4) *Decide* whether the hash is a property of a HMAC Key or an operation
parameter and then either
4.1) (hash is a property of the HMAC Key): remove HmacParams from the
sign/verify rows of the table in 19.12.2, or
4.2) (hash is an operation parameter): change the base class of HmacParams
to be OperationParameters and define new HmacKeyGenParams as follows:

dictionary *HmacKeyGenParams* : A
<http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmParameters>lgorithm {
  // The length, in bits, of the key.
  [EnforceRange] unsigned short length;
};


...Mark

Received on Monday, 22 April 2013 21:07:07 UTC