crypto: Begin SubtleCrypto implementation (#33628)

* Update IDLs and Bindings conf

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Add AES crate

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Implement DOM interfaces

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* IDL tidy

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Remove deriveKey from inRealms for now until implemented

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Fix CryptoKey rustdoc comments

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Move string constants to top of file

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Use properly rooted CryptoKey

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Code clarity

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Rework NormalizedAlgorithm to not hold a DOMString

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Add Rustdoc for CryptoKey interface

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Move ignore mallocsizeof to rand crate, remove from crypto

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Update cargo lock

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Fix key handling, implement exportKey with JWK TODO

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Add missing spec link

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Use create_buffer_source, remove aes dep from libservo

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Fix crash when running in worker

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Update expectations

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* fmt

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Move CryptoKey and SubtleCrypto behind pref for now

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Update expectations

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Readd timeout expectation

Signed-off-by: Daniel Adams <msub2official@gmail.com>

---------

Signed-off-by: Daniel Adams <msub2official@gmail.com>
This commit is contained in:
Daniel Adams 2024-10-08 03:51:08 +00:00 committed by GitHub
parent 66bc430b24
commit fc0d4d8157
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
82 changed files with 39536 additions and 557 deletions

View file

@ -1,5 +1,470 @@
[failures_ECDSA.https.any.worker.html]
expected: ERROR
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [\])]
expected: FAIL
[failures_ECDSA.https.any.html]
expected: ERROR
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, [\])]
expected: FAIL
[Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [\])]
expected: FAIL