Add checking to padding ctrl.
This commit is contained in:
parent
4a3dc3c0e3
commit
6471c9f478
@ -193,7 +193,7 @@ struct rsa_st
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \
|
#define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \
|
||||||
EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_CTRL_RSA_PADDING, \
|
EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \
|
||||||
pad, NULL)
|
pad, NULL)
|
||||||
|
|
||||||
#define EVP_PKEY_CTRL_RSA_PADDING 1
|
#define EVP_PKEY_CTRL_RSA_PADDING 1
|
||||||
|
@ -161,10 +161,12 @@ static int pkey_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
|
|||||||
/* TODO: add PSS support */
|
/* TODO: add PSS support */
|
||||||
if ((p1 >= RSA_PKCS1_PADDING) && (p1 <= RSA_X931_PADDING))
|
if ((p1 >= RSA_PKCS1_PADDING) && (p1 <= RSA_X931_PADDING))
|
||||||
{
|
{
|
||||||
|
if (ctx->operation == EVP_PKEY_OP_KEYGEN)
|
||||||
|
return -2;
|
||||||
rctx->pad_mode = p1;
|
rctx->pad_mode = p1;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return -2;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return -2;
|
return -2;
|
||||||
@ -192,7 +194,7 @@ static int pkey_rsa_ctrl_str(EVP_PKEY_CTX *ctx,
|
|||||||
pm = RSA_X931_PADDING;
|
pm = RSA_X931_PADDING;
|
||||||
else
|
else
|
||||||
return -2;
|
return -2;
|
||||||
return pkey_rsa_ctrl(ctx, EVP_PKEY_CTRL_RSA_PADDING, pm, NULL);
|
return EVP_PKEY_CTX_set_rsa_padding(ctx, pm);
|
||||||
}
|
}
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user