openssl/crypto/evp
Tobias Nießen 67c81ec311 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)
2019-05-08 10:57:59 +01:00
..
bio_b64.c
bio_enc.c
bio_md.c
bio_ok.c
build.info Added EVP_KDF (similiar to the EVP_MAC) 2019-05-03 17:52:50 +02:00
c_allc.c
c_alld.c
c_allkdf.c Added EVP_KDF (similiar to the EVP_MAC) 2019-05-03 17:52:50 +02:00
c_allm.c
cmeth_lib.c Make EVP_Encrypt*/EVP_Decrypt* and EVP_Cipher* provider aware 2019-04-19 09:31:54 +01:00
digest.c Replumbing: give the possibility for the provider to create a context 2019-04-30 15:34:23 +02:00
e_aes_cbc_hmac_sha1.c
e_aes_cbc_hmac_sha256.c
e_aes.c Allow specifying the tag after AAD in CCM mode 2019-05-08 10:57:59 +01:00
e_aria.c Structure alignment macro. 2019-05-01 08:37:11 +10:00
e_bf.c
e_camellia.c
e_cast.c
e_chacha20_poly1305.c Structure alignment macro. 2019-05-01 08:37:11 +10:00
e_des3.c Coverity CID 1444956: Integer handling issues 2019-05-08 09:52:58 +10:00
e_des.c Structure alignment macro. 2019-05-01 08:37:11 +10:00
e_idea.c
e_null.c
e_old.c
e_rc2.c
e_rc4_hmac_md5.c
e_rc4.c
e_rc5.c
e_seed.c
e_sm4.c
e_xcbc_d.c
encode.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
evp_cnf.c EVP configuration section: add 'default_properties' command 2019-04-05 15:43:37 +02:00
evp_enc.c EVP_EncryptUpdate, EVP_EncryptFinal_ex: don't branch on uninitialized memory 2019-05-08 11:02:36 +10:00
evp_err.c Coverity CID 1444960: Error handling issues 2019-05-08 09:52:58 +10:00
evp_fetch.c Instead of global data store it in an OPENSSL_CTX 2019-05-02 22:42:09 +01:00
evp_key.c
evp_lib.c Replumbing: make the oneshot proider cipher function like the others 2019-04-30 15:30:30 +02:00
evp_locl.h Added EVP_KDF (similiar to the EVP_MAC) 2019-05-03 17:52:50 +02:00
evp_pbe.c
evp_pkey.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
kdf_lib.c Added EVP_KDF (similiar to the EVP_MAC) 2019-05-03 17:52:50 +02:00
m_md2.c
m_md4.c
m_md5_sha1.c
m_md5.c
m_mdc2.c
m_null.c
m_ripemd.c
m_sha1.c
m_sha3.c
m_sigver.c
m_wp.c
mac_lib.c Tolerate 0 byte input length for Update functions 2019-03-27 10:14:03 +00:00
names.c Added EVP_KDF (similiar to the EVP_MAC) 2019-05-03 17:52:50 +02:00
p5_crpt2.c Coverity CID 1444961: Integer handling issues 2019-05-08 09:52:58 +10:00
p5_crpt.c Coverity CID 1444960: Error handling issues 2019-05-08 09:52:58 +10:00
p_dec.c
p_enc.c
p_lib.c Providing missing accessor to EVP_PKEY.engine 2019-03-19 10:42:33 +00:00
p_open.c Fix the allocation size in EVP_OpenInit and PEM_SignFinal 2019-04-06 10:17:19 +02:00
p_seal.c
p_sign.c
p_verify.c
pbe_scrypt.c EVP_PBE_scrypt() handles salt=NULL as salt="" 2019-03-17 19:27:37 +10:00
pkey_kdf.c The use of the likes of UINT32_MAX requires internal/numbers.h 2019-02-28 10:31:20 +01:00
pkey_mac.c Correctly check the return code of EVP_MAC_ctrl everwhere it is used 2019-03-27 14:31:56 +00:00
pmeth_fn.c
pmeth_gn.c
pmeth_lib.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00