diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-06-09 23:17:06 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-07-06 15:42:23 +0100 |
commit | 9cca7be11d62298b2af0722f94345012c86eaed4 (patch) | |
tree | f286daa6863d1043f284cdf838bdb6cbbd857e33 /crypto | |
parent | 36f038f1041f9f31878f75b567959ceae08eb34e (diff) |
Relax CCM tag check.
In CCM mode don't require a tag before initialising decrypt: this allows
the tag length to be set without requiring the tag.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/evp/e_aes.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 895e8ee4a7..f8365a2d97 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -1866,7 +1866,7 @@ static int aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) case EVP_CTRL_AEAD_SET_TAG: if ((arg & 1) || arg < 4 || arg > 16) return 0; - if ((c->encrypt && ptr) || (!c->encrypt && !ptr)) + if (c->encrypt && ptr) return 0; if (ptr) { cctx->tag_set = 1; |