diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-10-16 22:46:40 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-10-16 22:46:40 +0000 |
commit | 96f7fafa24313106b121782f1dcf7928dd0838ed (patch) | |
tree | f9f20231c21fc0a089f3e4c072a09a0c7398deb7 /crypto/evp | |
parent | 487a0df700e601fe0526a65702cc5db77621cecf (diff) |
Don't require tag before ciphertext in AESGCM mode
Diffstat (limited to 'crypto/evp')
-rw-r--r-- | crypto/evp/e_aes.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index e4d97dbebd..1bfb5d92b3 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -969,8 +969,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) @@ -1012,6 +1010,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; |