From 964eaad78ccdc6c4537664924e6082b08cc1c8ee Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Tue, 16 Oct 2012 22:46:08 +0000 Subject: [PATCH] Don't require tag before ciphertext in AESGCM mode --- crypto/evp/e_aes.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 46ffd99e2a..783ef2f7d5 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -1343,8 +1343,6 @@ static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, if (!gctx->iv_set) return -1; - if (!ctx->encrypt && gctx->taglen < 0) - return -1; if (in) { if (out == NULL) @@ -1386,6 +1384,8 @@ static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, { if (!ctx->encrypt) { + if (gctx->taglen < 0) + return -1; if (CRYPTO_gcm128_finish(&gctx->gcm, ctx->buf, gctx->taglen) != 0) return -1;