diff options
author | Matt Caswell <matt@openssl.org> | 2015-01-27 15:05:07 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-01-28 11:39:01 +0100 |
commit | e640fa02005422c8783b7a452329e8a5059be0b5 (patch) | |
tree | 194a477928fddb61c2e828d44fa9007c1a624bb1 /demos | |
parent | Replace EVP_CTRL_OCB_SET_TAGLEN with EVP_CTRL_SET_TAG for consistency with (diff) | |
download | openssl-e640fa02005422c8783b7a452329e8a5059be0b5.tar.xz openssl-e640fa02005422c8783b7a452329e8a5059be0b5.zip |
Harmonise use of EVP_CTRL_GET_TAG/EVP_CTRL_SET_TAG/EVP_CTRL_SET_IVLEN
Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'demos')
-rw-r--r-- | demos/evp/aesccm.c | 12 | ||||
-rw-r--r-- | demos/evp/aesgcm.c | 15 |
2 files changed, 16 insertions, 11 deletions
diff --git a/demos/evp/aesccm.c b/demos/evp/aesccm.c index 1810a51fc8..e0240e5869 100644 --- a/demos/evp/aesccm.c +++ b/demos/evp/aesccm.c @@ -50,9 +50,10 @@ void aes_ccm_encrypt(void) /* Set cipher type and mode */ EVP_EncryptInit_ex(ctx, EVP_aes_192_ccm(), NULL, NULL, NULL); /* Set nonce length if default 96 bits is not appropriate */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_IVLEN, sizeof(ccm_nonce), NULL); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, sizeof(ccm_nonce), + NULL); /* Set tag length */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_TAG, sizeof(ccm_tag), NULL); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, sizeof(ccm_tag), NULL); /* Initialise key and IV */ EVP_EncryptInit_ex(ctx, NULL, NULL, ccm_key, ccm_nonce); /* Set plaintext length: only needed if AAD is used */ @@ -67,7 +68,7 @@ void aes_ccm_encrypt(void) /* Finalise: note get no output for CCM */ EVP_EncryptFinal_ex(ctx, outbuf, &outlen); /* Get tag */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_GET_TAG, 16, outbuf); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, outbuf); /* Output tag */ printf("Tag:\n"); BIO_dump_fp(stdout, outbuf, 16); @@ -86,9 +87,10 @@ void aes_ccm_decrypt(void) /* Select cipher */ EVP_DecryptInit_ex(ctx, EVP_aes_192_ccm(), NULL, NULL, NULL); /* Set nonce length, omit for 96 bits */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_IVLEN, sizeof(ccm_nonce), NULL); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, sizeof(ccm_nonce), + NULL); /* Set expected tag value */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_TAG, + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, sizeof(ccm_tag), (void *)ccm_tag); /* Specify key and IV */ EVP_DecryptInit_ex(ctx, NULL, NULL, ccm_key, ccm_nonce); diff --git a/demos/evp/aesgcm.c b/demos/evp/aesgcm.c index 12d4192649..9159c5c00f 100644 --- a/demos/evp/aesgcm.c +++ b/demos/evp/aesgcm.c @@ -50,7 +50,7 @@ void aes_gcm_encrypt(void) /* Set cipher type and mode */ EVP_EncryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL, NULL); /* Set IV length if default 96 bits is not appropriate */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN, sizeof(gcm_iv), NULL); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, sizeof(gcm_iv), NULL); /* Initialise key and IV */ EVP_EncryptInit_ex(ctx, NULL, NULL, gcm_key, gcm_iv); /* Zero or more calls to specify any AAD */ @@ -63,7 +63,7 @@ void aes_gcm_encrypt(void) /* Finalise: note get no output for GCM */ EVP_EncryptFinal_ex(ctx, outbuf, &outlen); /* Get tag */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_GET_TAG, 16, outbuf); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, outbuf); /* Output tag */ printf("Tag:\n"); BIO_dump_fp(stdout, outbuf, 16); @@ -82,7 +82,7 @@ void aes_gcm_decrypt(void) /* Select cipher */ EVP_DecryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL, NULL); /* Set IV length, omit for 96 bits */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN, sizeof(gcm_iv), NULL); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, sizeof(gcm_iv), NULL); /* Specify key and IV */ EVP_DecryptInit_ex(ctx, NULL, NULL, gcm_key, gcm_iv); #if 0 @@ -90,7 +90,7 @@ void aes_gcm_decrypt(void) * Set expected tag value. A restriction in OpenSSL 1.0.1c and earlier * required the tag before any AAD or ciphertext */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, sizeof(gcm_tag), gcm_tag); + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, sizeof(gcm_tag), gcm_tag); #endif /* Zero or more calls to specify any AAD */ EVP_DecryptUpdate(ctx, NULL, &outlen, gcm_aad, sizeof(gcm_aad)); @@ -99,8 +99,11 @@ void aes_gcm_decrypt(void) /* Output decrypted block */ printf("Plaintext:\n"); BIO_dump_fp(stdout, outbuf, outlen); - /* Set expected tag value. Works in OpenSSL 1.0.1d and later */ - EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, sizeof(gcm_tag), gcm_tag); + /* + * Set expected tag value. Works in OpenSSL 1.0.1d and later + * In versions prior to OpenSSL 1.1.0 you should use EVP_CTRL_GCM_SET_TAG + */ + EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, sizeof(gcm_tag), gcm_tag); /* Finalise: note get no output for GCM */ rv = EVP_DecryptFinal_ex(ctx, outbuf, &outlen); /* |