crypto: Implement encrypt/decrypt for AES-CBC + JWK support (#33795)

* Add support for raw importKey with AES-CBC

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

* Support JWK import/export, importKey for AES-CBC

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

* Implement encrypt/decrypt for AES-CBC

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

* Update expectations

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

* Update Cargo.lock

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

* Pass MutableHandleObject as arg instead of returning raw pointer

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

* Swap order of checks in generate_key_aes_cbc

- Fixes WPT tests that expect to error on algorithm first before usages

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

* Avoid potential GC hazard with array_buffer_ptr

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

* Update expectations for discards context

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-20 21:32:19 -10:00 committed by GitHub
parent 397c5adf79
commit 45267c9f28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
55 changed files with 163938 additions and 2799 deletions

View file

@ -1,5 +1,266 @@
[rsa_pkcs.https.any.worker.html]
expected: ERROR
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification failure with altered plaintext]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification failure with altered plaintext]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification failure with altered plaintext]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification failure with altered plaintext]
expected: FAIL
[rsa_pkcs.https.any.html]
expected: ERROR
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification with altered signature after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 with altered plaintext after call]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 using privateKey to verify]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 using publicKey to sign]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 no verify usage]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 round trip]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 signing with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification with wrong algorithm name]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification failure with altered signature]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-1 verification failure with altered plaintext]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-256 verification failure with altered plaintext]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-384 verification failure with altered plaintext]
expected: FAIL
[importVectorKeys step: RSASSA-PKCS1-v1_5 with SHA-512 verification failure with altered plaintext]
expected: FAIL