*/
#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)
#define EVP_PKEY_CTRL_RSA_PADDING 1
/* TODO: add PSS support */
if ((p1 >= RSA_PKCS1_PADDING) && (p1 <= RSA_X931_PADDING))
{
+ if (ctx->operation == EVP_PKEY_OP_KEYGEN)
+ return -2;
rctx->pad_mode = p1;
return 1;
}
- return 0;
+ return -2;
default:
return -2;
pm = RSA_X931_PADDING;
else
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;
}