Test progress and browser bug reports

I have tests for generateKey, digest, encrypt, decrypt, sign, and verify
methods. I also have tests for deriveKey and deriveBits for PBKDF2 only.
Except for PBKDF2 all these tests have either been merged or have pull
requests in the web-platform-tests Github repo.

Both Chrome and Firefox pass all the tests with the following exceptions:

- Chrome doesn't support 192-bit AES keys
- Firefox apparently can't import ECDSA keys in pkcs8 and spki format, so
the tests can't run
- Many tests for throwing errors fail, usually due to the wrong kind of
error being thrown. I'm in the process of submitting bug reports for all
those errors.
- Some tests complete operations that should fail due to incorrect key
usages

I've submitted (or in the last case below, commented on) bug reports, and
expect to submit about six more for Mozilla. I also plan to test on Edge
this weekend.

I am going to try to finish testing deriveBits and deriveKey for all
supported algorithms. Since Jim is working on importKey and exportKey, that
will leave only wrapKey and unwrapKey to finish the test suite.

Bug reports:

Mozilla:

crypto.subtle.generateKey does not check usages argument
    https://bugzilla.mozilla.org/show_bug.cgi?id=1270634

crypto.subtle.generateKey throws wrong exception for bad algorithm argument
    https://bugzilla.mozilla.org/show_bug.cgi?id=1270599

Chromium:

crypto.subtle.generateKey throws wrong error
    https://bugs.chromium.org/p/chromium/issues/detail?id=611801

crypto.subtle.encrypt throws wrong error for AES-GCM with 256-bit tag
    https://bugs.chromium.org/p/chromium/issues/detail?id=626711

crypto.subtle.deriveBits does not throw error for null, 0, or negative
length
    https://bugs.chromium.org/p/chromium/issues/detail?id=534964

Charlie

Received on Friday, 8 July 2016 20:26:30 UTC