提交 d57d135c 编写于 作者: M Matt Caswell

Replace EVP_CTRL_OCB_SET_TAGLEN with EVP_CTRL_SET_TAG for consistency with

CCM
Reviewed-by: NTim Hudson <tjh@openssl.org>
上级 646e8c1d
...@@ -2225,15 +2225,15 @@ static int aes_ocb_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) ...@@ -2225,15 +2225,15 @@ static int aes_ocb_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
octx->ivlen = arg; octx->ivlen = arg;
return 1; return 1;
case EVP_CTRL_OCB_SET_TAGLEN:
/* Tag len must be 0 to 16 */
if (arg < 0 || arg > 16)
return 0;
octx->taglen = arg;
return 1;
case EVP_CTRL_SET_TAG: case EVP_CTRL_SET_TAG:
if (!ptr) {
/* Tag len must be 0 to 16 */
if (arg < 0 || arg > 16)
return 0;
octx->taglen = arg;
return 1;
}
if (arg != octx->taglen || c->encrypt) if (arg != octx->taglen || c->encrypt)
return 0; return 0;
memcpy(octx->tag, ptr, arg); memcpy(octx->tag, ptr, arg);
......
...@@ -433,7 +433,6 @@ typedef struct { ...@@ -433,7 +433,6 @@ typedef struct {
# define EVP_CTRL_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN # define EVP_CTRL_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN
# define EVP_CTRL_GET_TAG EVP_CTRL_GCM_GET_TAG # define EVP_CTRL_GET_TAG EVP_CTRL_GCM_GET_TAG
# define EVP_CTRL_SET_TAG EVP_CTRL_GCM_SET_TAG # define EVP_CTRL_SET_TAG EVP_CTRL_GCM_SET_TAG
# define EVP_CTRL_OCB_SET_TAGLEN 0x1c
/* GCM TLS constants */ /* GCM TLS constants */
/* Length of fixed part of IV derived from PRF */ /* Length of fixed part of IV derived from PRF */
......
...@@ -185,8 +185,7 @@ static void test1(const EVP_CIPHER *c, const unsigned char *key, int kn, ...@@ -185,8 +185,7 @@ static void test1(const EVP_CIPHER *c, const unsigned char *key, int kn,
test1_exit(11); test1_exit(11);
} }
if ((mode == EVP_CIPH_OCB_MODE) && if ((mode == EVP_CIPH_OCB_MODE) &&
!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_OCB_SET_TAGLEN, tn, NULL)) !EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_TAG, tn, NULL)) {
{
fprintf(stderr, "Tag length set failed\n"); fprintf(stderr, "Tag length set failed\n");
ERR_print_errors_fp(stderr); ERR_print_errors_fp(stderr);
test1_exit(15); test1_exit(15);
...@@ -301,8 +300,7 @@ static void test1(const EVP_CIPHER *c, const unsigned char *key, int kn, ...@@ -301,8 +300,7 @@ static void test1(const EVP_CIPHER *c, const unsigned char *key, int kn,
test1_exit(11); test1_exit(11);
} }
if ((mode == EVP_CIPH_OCB_MODE) && if ((mode == EVP_CIPH_OCB_MODE) &&
!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_OCB_SET_TAGLEN, tn, NULL)) !EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_TAG, tn, NULL)) {
{
fprintf(stderr, "Tag length set failed\n"); fprintf(stderr, "Tag length set failed\n");
ERR_print_errors_fp(stderr); ERR_print_errors_fp(stderr);
test1_exit(15); test1_exit(15);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册