summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2024-10-07 16:34:40 +0530
committerGitHub <noreply@github.com>2024-10-07 12:04:40 +0100
commit39a2034967207b89069cf64a76308e1446b1ad26 (patch)
treefc0c5c3961957e29df261db75edd420ad8d3e07d /tests
parent2de4faa483982478e9a36ad4ab891a887b4779f1 (diff)
feat(ext/crypto): X448 support (#26043)
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/wpt/runner/expectation.json194
1 files changed, 86 insertions, 108 deletions
diff --git a/tests/wpt/runner/expectation.json b/tests/wpt/runner/expectation.json
index f7da5e51f..ce73f5d05 100644
--- a/tests/wpt/runner/expectation.json
+++ b/tests/wpt/runner/expectation.json
@@ -59,14 +59,12 @@
"X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)",
"X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)",
"X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)",
- "X25519 mismatched algorithms",
"X448 good parameters",
"X448 mixed case parameters",
"X448 short result",
"X448 non-multiple of 8 bits",
"X448 mismatched algorithms",
"X448 no deriveBits usage for base key",
- "X448 base key is not a private key",
"X448 public property value is a private key",
"X448 public property value is a secret key",
"X448 asking for too many bits"
@@ -77,14 +75,12 @@
"X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)",
"X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)",
"X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)",
- "X25519 mismatched algorithms",
"X448 good parameters",
"X448 mixed case parameters",
"X448 short result",
"X448 non-multiple of 8 bits",
"X448 mismatched algorithms",
"X448 no deriveBits usage for base key",
- "X448 base key is not a private key",
"X448 public property value is a private key",
"X448 public property value is a secret key",
"X448 asking for too many bits"
@@ -95,13 +91,10 @@
"X448 deriveBits checks for all-zero value result with a key of order p-1 (order 2)",
"X448 deriveBits checks for all-zero value result with a key of order p (=0, order 4)",
"X448 deriveBits checks for all-zero value result with a key of order p+1 (=1, order 1)",
- "Key derivation using a X448 generated keys.",
- "X25519 mismatched algorithms",
"X448 good parameters",
"X448 mixed case parameters",
"X448 mismatched algorithms",
"X448 no deriveKey usage for base key",
- "X448 base key is not a private key",
"X448 public property value is a private key",
"X448 public property value is a secret key"
],
@@ -111,13 +104,10 @@
"X448 deriveBits checks for all-zero value result with a key of order p-1 (order 2)",
"X448 deriveBits checks for all-zero value result with a key of order p (=0, order 4)",
"X448 deriveBits checks for all-zero value result with a key of order p+1 (=1, order 1)",
- "Key derivation using a X448 generated keys.",
- "X25519 mismatched algorithms",
"X448 good parameters",
"X448 mixed case parameters",
"X448 mismatched algorithms",
"X448 no deriveKey usage for base key",
- "X448 base key is not a private key",
"X448 public property value is a private key",
"X448 public property value is a secret key"
],
@@ -767,82 +757,16 @@
],
"failures_X25519.https.any.html": true,
"failures_X25519.https.any.worker.html": true,
- "failures_X448.https.any.html": [
- "Bad usages: generateKey({name: X448}, true, [encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])",
- "Bad usages: generateKey({name: X448}, true, [verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])",
- "Bad usages: generateKey({name: X448}, true, [wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])",
- "Empty usages: generateKey({name: X448}, false, [])",
- "Empty usages: generateKey({name: X448}, true, [])"
- ],
- "failures_X448.https.any.worker.html": [
- "Bad usages: generateKey({name: X448}, true, [encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])",
- "Bad usages: generateKey({name: X448}, true, [decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])",
- "Bad usages: generateKey({name: X448}, true, [sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, sign])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])",
- "Bad usages: generateKey({name: X448}, true, [verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, verify])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])",
- "Bad usages: generateKey({name: X448}, true, [wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])",
- "Bad usages: generateKey({name: X448}, true, [unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveBits, unwrapKey])",
- "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])",
- "Empty usages: generateKey({name: X448}, false, [])",
- "Empty usages: generateKey({name: X448}, true, [])"
- ],
+ "failures_X448.https.any.html": true,
+ "failures_X448.https.any.worker.html": true,
"successes_Ed25519.https.any.html": true,
"successes_Ed25519.https.any.worker.html": true,
"successes_Ed448.https.any.html": false,
"successes_Ed448.https.any.worker.html": false,
"successes_X25519.https.any.html": true,
"successes_X25519.https.any.worker.html": true,
- "successes_X448.https.any.html": false,
- "successes_X448.https.any.worker.html": false
+ "successes_X448.https.any.html": true,
+ "successes_X448.https.any.worker.html": true
},
"historical.any.html": false,
"historical.any.worker.html": false,
@@ -929,10 +853,6 @@
"Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])",
"Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
"Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
- "Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])",
- "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])",
- "Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])",
- "Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])",
"Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])",
"Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])",
@@ -945,17 +865,10 @@
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
"Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
"Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
- "Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])",
- "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])",
- "Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])",
- "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])"
+ "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])"
],
"okp_importKey.https.any.worker.html": [
"Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify])",
@@ -997,10 +910,6 @@
"Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])",
"Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
"Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
- "Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])",
- "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])",
- "Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])",
- "Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])",
"Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])",
"Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])",
@@ -1013,17 +922,10 @@
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
"Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
"Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
- "Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])",
- "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])",
- "Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])",
"Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])",
- "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
- "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])"
+ "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])"
],
"okp_importKey_failures_Ed25519.https.any.html": [
"Bad key length: importKey(raw, {name: Ed25519}, true, [verify])",
@@ -1103,8 +1005,62 @@
"Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits])",
"Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])"
],
- "okp_importKey_failures_X448.https.any.html": false,
- "okp_importKey_failures_X448.https.any.worker.html": false,
+ "okp_importKey_failures_X448.https.any.html": [
+ "Empty usages: importKey(pkcs8, {name: X448}, true, [])",
+ "Empty usages: importKey(pkcs8, {name: X448}, false, [])",
+ "Bad key length: importKey(raw, {name: X448}, true, [])",
+ "Bad key length: importKey(raw, {name: X448}, false, [])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Bad key length: importKey(jwk (public) , {name: X448}, true, [])",
+ "Bad key length: importKey(jwk (public) , {name: X448}, false, [])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])"
+ ],
+ "okp_importKey_failures_X448.https.any.worker.html": [
+ "Empty usages: importKey(pkcs8, {name: X448}, true, [])",
+ "Empty usages: importKey(pkcs8, {name: X448}, false, [])",
+ "Bad key length: importKey(raw, {name: X448}, true, [])",
+ "Bad key length: importKey(raw, {name: X448}, false, [])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits])",
+ "Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Bad key length: importKey(jwk (public) , {name: X448}, true, [])",
+ "Bad key length: importKey(jwk (public) , {name: X448}, false, [])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits])",
+ "Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])"
+ ],
"crashtests": {
"importKey-unsettled-promise.https.any.html": true,
"importKey-unsettled-promise.https.any.worker.html": true
@@ -1478,8 +1434,30 @@
"crypto-subtle-secure-context-available.https.sub.html": true
},
"wrapKey_unwrapKey": {
- "wrapKey_unwrapKey.https.any.html": true,
- "wrapKey_unwrapKey.https.any.worker.html": true
+ "wrapKey_unwrapKey.https.any.html": [
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-CTR",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-CTR",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-CBC",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-CBC",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-GCM",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-GCM",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-KW",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-KW",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and RSA-OAEP",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and RSA-OAEP"
+ ],
+ "wrapKey_unwrapKey.https.any.worker.html": [
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-CTR",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-CTR",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-CBC",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-CBC",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-GCM",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-GCM",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and AES-KW",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and AES-KW",
+ "Can wrap and unwrap X448 private key keys using pkcs8 and RSA-OAEP",
+ "Can wrap and unwrap X448 private key keys as non-extractable using pkcs8 and RSA-OAEP"
+ ]
}
},
"console": {