details: https://hg.nginx.org/njs/rev/864bf6445ccb branches: changeset: 2018:864bf6445ccb user: Dmitry Volyntsev <xei...@nginx.com> date: Thu Dec 29 20:46:21 2022 -0800 description: WebCrypto: added missed support for AES-* keys of size 192.
diffstat: external/njs_webcrypto_module.c | 12 ++++++++++++ test/webcrypto/aes.t.js | 3 +++ 2 files changed, 15 insertions(+), 0 deletions(-) diffs (63 lines): diff -r 02aa50753dc1 -r 864bf6445ccb external/njs_webcrypto_module.c --- a/external/njs_webcrypto_module.c Thu Dec 29 20:39:29 2022 -0800 +++ b/external/njs_webcrypto_module.c Thu Dec 29 20:46:21 2022 -0800 @@ -663,6 +663,10 @@ njs_cipher_aes_gcm(njs_vm_t *vm, njs_str cipher = EVP_aes_128_gcm(); break; + case 24: + cipher = EVP_aes_192_gcm(); + break; + case 32: cipher = EVP_aes_256_gcm(); break; @@ -961,6 +965,10 @@ njs_cipher_aes_ctr(njs_vm_t *vm, njs_str cipher = EVP_aes_128_ctr(); break; + case 24: + cipher = EVP_aes_192_ctr(); + break; + case 32: cipher = EVP_aes_256_ctr(); break; @@ -1162,6 +1170,10 @@ njs_cipher_aes_cbc(njs_vm_t *vm, njs_str cipher = EVP_aes_128_cbc(); break; + case 24: + cipher = EVP_aes_192_cbc(); + break; + case 32: cipher = EVP_aes_256_cbc(); break; diff -r 02aa50753dc1 -r 864bf6445ccb test/webcrypto/aes.t.js --- a/test/webcrypto/aes.t.js Thu Dec 29 20:39:29 2022 -0800 +++ b/test/webcrypto/aes.t.js Thu Dec 29 20:46:21 2022 -0800 @@ -66,6 +66,7 @@ let aes_tsuite = { { name: "AES-GCM", data: "aabbcc", tagLength: 112 }, { name: "AES-GCM", data: "aabbcc", tagLength: 113, exception: "TypeError: AES-GCM Invalid tagLength" }, { name: "AES-GCM", data: "aabbcc", key: "aabbcc", exception: "TypeError: Invalid key length" }, + { name: "AES-GCM", data: "aabbcc", key: "001122330011223300112233001122330011223300112233" }, { name: "AES-GCM", data: "aabbccdd".repeat(4096) }, { name: "AES-CTR", data: "aa" }, @@ -84,6 +85,7 @@ let aes_tsuite = { { name: "AES-CTR", data: "aabbccdd".repeat(4096), counter: "ffffffffffffffffffffffffffffffff", length: 11 }, { name: "AES-CTR", data: "aabbccdd".repeat(4096), length: 20 }, { name: "AES-CTR", data: "aabbccdd".repeat(4096), length: 24 }, + { name: "AES-CTR", data: "aabbcc", key: "001122330011223300112233001122330011223300112233" }, { name: "AES-CTR", data: "aabbccdd", length: 129, exception: "TypeError: AES-CTR algorithm.length must be between 1 and 128" }, { name: "AES-CTR", data: "aabbcc", key: "aabbcc", exception: "TypeError: Invalid key length" }, @@ -92,6 +94,7 @@ let aes_tsuite = { { name: "AES-CBC", data: "aabbccdd".repeat(4) }, { name: "AES-CBC", data: "aabbccdd".repeat(4096) }, { name: "AES-CBC", data: "aabbccdd".repeat(5), iv: "ffffffffffffffffffffffffffffffff" }, + { name: "AES-CBC", data: "aabbcc", key: "001122330011223300112233001122330011223300112233" }, { name: "AES-CBC", data: "aabbcc", key: "aabbcc", exception: "TypeError: Invalid key length" }, ]}; _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel