[openssl/openssl] 122db7: Migrate test_evp_final_no_tag to evp_aead_test.c

1 view
Skip to first unread message

Hamzah M. Yamani

unread,
Oct 11, 2026, 6:29:38 PM (11 days ago) Oct 11
to openssl...@openssl.org
Branch: refs/heads/master
Home: https://github.com/openssl/openssl
Commit: 122db7eb076bf0625df87b91bcc2dccfaccc4900
https://github.com/openssl/openssl/commit/122db7eb076bf0625df87b91bcc2dccfaccc4900
Author: Hamzah Yamani <hamzah.y...@gmail.com>
Date: 2026-10-12 (Mon, 12 Oct 2026)

Changed paths:
M test/evp_aead_test.c
M test/evp_extra_test.c

Log Message:
-----------
Migrate test_evp_final_no_tag to evp_aead_test.c

Move test_evp_final_no_tag out of evp_extra_test.c into evp_aead_test.c
and run it over every AEAD in aead_list instead of a hardcoded pair of
ciphers. The check is that EVP_DecryptFinal_ex() refuses to finalize a
decrypt when no tag has been set.

CCM, OCB, SIV and GCM-SIV are skipped for now. Those modes either
require the tag and payload length to be declared before the payload
update, or verify inside the payload update rather than in final, so the
check as written does not apply to them. How the interface should behave
for these modes is still under discussion.

Key and IV buffers are sized to EVP_MAX_KEY_LENGTH and EVP_MAX_IV_LENGTH
so ciphers with longer keys, such as AES-256-SIV, stay in bounds, and the
keylen, ivlen and taglen of each cipher are checked against those buffers.
Encryption and decryption use separate contexts, initialized with
EVP_*Init_ex2(), and the decrypt final writes to the plaintext buffer.

Assisted-by: Claude:claude-sonnet-5
Reviewed-by: Neil Horman <nho...@openssl.org>
Reviewed-by: Saša Nedvědický <sas...@openssl.org>
Reviewed-by: Eugene Syromiatnikov <es...@openssl.org>
Merge-date: Sun Oct 11 22:27:06 2026
Merged-from: https://github.com/openssl/openssl/pull/32907



To unsubscribe from these emails, change your notification settings at https://github.com/openssl/openssl/settings/notifications
Reply all
Reply to author
Forward
0 new messages