aboutsummaryrefslogtreecommitdiff
path: root/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2020-11-11 11:07:12 +0000
committerMatt Caswell <matt@openssl.org>2020-11-25 10:14:43 +0000
commit6db0d58d815b84b44610471b71de1f259d00c166 (patch)
treefb689e5678531a14ce1daf4e904ea2f7182b00f9 /providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
parent01c6551ce63005d65aa03edaa4c57d04438cc0d0 (diff)
downloadopenssl-6db0d58d815b84b44610471b71de1f259d00c166.zip
openssl-6db0d58d815b84b44610471b71de1f259d00c166.tar.gz
openssl-6db0d58d815b84b44610471b71de1f259d00c166.tar.bz2
Fix RC4-MD5 based ciphersuites
The RC4-MD5 ciphersuites were not removing the length of the MAC when calculating the length of decrypted TLS data. Since RC4 is a streamed cipher that doesn't use padding we separate out the concepts of fixed length TLS data to be removed, and TLS padding. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/13378)
Diffstat (limited to 'providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c')
-rw-r--r--providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c b/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
index 73233a2..8cce02b 100644
--- a/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
+++ b/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
@@ -42,6 +42,7 @@ static int cipher_hw_rc4_hmac_md5_initkey(PROV_CIPHER_CTX *bctx,
ctx->tail = ctx->head;
ctx->md = ctx->head;
ctx->payload_length = NO_PAYLOAD_LENGTH;
+ bctx->removetlsfixed = MD5_DIGEST_LENGTH;
return 1;
}