openssl/crypto/evp
Tobias Nießen b48e3be947 Allow specifying the tag after AAD in CCM mode
This change allows to pass the authentication tag after specifying
the AAD in CCM mode. This is already true for the other two supported
AEAD modes (GCM and OCB) and it seems appropriate to match the
behavior.

GCM and OCB also support to set the tag at any point before the call
to `EVP_*Final`, but this won't work for CCM due to a restriction
imposed by section 2.6 of RFC3610: The tag must be set before
actually decrypting data.

This commit also adds a test case for setting the tag after supplying
plaintext length and AAD.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7243)

(cherry picked from commit 67c81ec311)
2019-05-08 11:02:42 +01:00
..
bio_b64.c Set error code on alloc failures 2018-04-03 11:31:16 -04:00
bio_enc.c Update copyright year 2018-04-17 15:18:40 +02:00
bio_md.c
bio_ok.c Update copyright year 2018-04-17 15:18:40 +02:00
build.info s390x assembly pack: add KIMD/KLMD code path for sha3/shake 2018-08-06 12:04:52 +02:00
c_allc.c
c_alld.c
cmeth_lib.c
digest.c Tolerate 0 byte input length for Update functions 2019-03-27 10:20:52 +00:00
e_aes.c Allow specifying the tag after AAD in CCM mode 2019-05-08 11:02:42 +01:00
e_aes_cbc_hmac_sha1.c
e_aes_cbc_hmac_sha256.c
e_aria.c Fix a memory leak in ARIA GCM 2019-03-27 10:31:05 +00:00
e_bf.c
e_camellia.c
e_cast.c
e_chacha20_poly1305.c Prevent over long nonces in ChaCha20-Poly1305 2019-03-06 13:30:39 +00:00
e_des.c Update copyright year 2018-04-03 13:57:12 +01:00
e_des3.c Update copyright year 2018-04-03 13:57:12 +01:00
e_idea.c
e_null.c
e_old.c
e_rc2.c Update copyright year 2018-11-20 13:27:36 +00:00
e_rc4.c
e_rc4_hmac_md5.c
e_rc5.c
e_seed.c
e_sm4.c
e_xcbc_d.c
encode.c Update copyright year 2018-04-17 15:18:40 +02:00
evp_cnf.c
evp_enc.c EVP_*Update: ensure that input NULL with length 0 isn't passed 2019-04-10 07:53:32 +02:00
evp_err.c make update 2018-12-10 10:08:32 +01:00
evp_key.c
evp_lib.c Allow EVP_MD_CTX_set_pkey_ctx to accept NULL pctx 2018-09-07 18:12:26 +08:00
evp_locl.h Update copyright year 2018-04-17 15:18:40 +02:00
evp_pbe.c Update copyright year 2018-09-11 13:45:17 +01:00
evp_pkey.c
m_md2.c
m_md4.c
m_md5.c
m_md5_sha1.c
m_mdc2.c
m_null.c
m_ripemd.c
m_sha1.c
m_sha3.c Update copyright year 2018-09-11 13:45:17 +01:00
m_sigver.c Update document for SM2 stuffs 2018-09-07 18:12:26 +08:00
m_wp.c
names.c
p5_crpt.c
p5_crpt2.c
p_dec.c
p_enc.c
p_lib.c Providing missing accessor to EVP_PKEY.engine 2019-03-21 09:06:12 +00:00
p_open.c Fix the allocation size in EVP_OpenInit and PEM_SignFinal 2019-04-06 10:20:10 +02:00
p_seal.c Update copyright year 2018-09-11 13:45:17 +01:00
p_sign.c
p_verify.c
pbe_scrypt.c Update copyright year 2018-04-03 13:57:12 +01:00
pmeth_fn.c
pmeth_gn.c
pmeth_lib.c Make some return checks consistent with others 2018-09-13 23:23:18 +09:00