aboutsummaryrefslogtreecommitdiffstats
path: root/ssl/t1_enc.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-07-31 16:59:45 +0100
committerDr. Stephen Henson <steve@openssl.org>2015-08-14 06:56:11 +0100
commit3d3701ea20ca36215e3af5ac090797cfec5fca2a (patch)
treeb28cac593f1d4c213b417070d0828afe6c73f3b4 /ssl/t1_enc.c
parente75c5a794e71baa3d76214be3ac8dc6e082e4a1a (diff)
downloadopenssl-3d3701ea20ca36215e3af5ac090797cfec5fca2a.tar.gz
ccm8 support
Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'ssl/t1_enc.c')
-rw-r--r--ssl/t1_enc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c
index 87de2fe6c5..1f539aa174 100644
--- a/ssl/t1_enc.c
+++ b/ssl/t1_enc.c
@@ -509,7 +509,11 @@ int tls1_change_cipher_state(SSL *s, int which)
goto err2;
}
} else if (EVP_CIPHER_mode(c) == EVP_CIPH_CCM_MODE) {
- int taglen = 16;
+ int taglen;
+ if (s->s3->tmp.new_cipher->algorithm_enc & (SSL_AES128CCM8|SSL_AES256CCM8))
+ taglen = 8;
+ else
+ taglen = 16;
if (!EVP_CipherInit_ex(dd, c, NULL, NULL, NULL, (which & SSL3_CC_WRITE))
|| !EVP_CIPHER_CTX_ctrl(dd, EVP_CTRL_AEAD_SET_IVLEN, 12, NULL)
|| !EVP_CIPHER_CTX_ctrl(dd, EVP_CTRL_AEAD_SET_TAG, taglen, NULL)