Lines Matching refs:pctx

68   int r = EVP_PKEY_CTX_ctrl(ctx->pctx, -1, EVP_PKEY_OP_TYPE_SIG,
79 static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
82 if (ctx->pctx == NULL) {
83 ctx->pctx = EVP_PKEY_CTX_new(pkey, e);
85 if (ctx->pctx == NULL) {
100 if (ctx->pctx->pmeth->verifyctx_init) {
101 if (ctx->pctx->pmeth->verifyctx_init(ctx->pctx, ctx) <= 0) {
104 ctx->pctx->operation = EVP_PKEY_OP_VERIFYCTX;
105 } else if (EVP_PKEY_verify_init(ctx->pctx) <= 0) {
109 if (ctx->pctx->pmeth->signctx_init) {
110 if (ctx->pctx->pmeth->signctx_init(ctx->pctx, ctx) <= 0) {
113 ctx->pctx->operation = EVP_PKEY_OP_SIGNCTX;
114 } else if (EVP_PKEY_sign_init(ctx->pctx) <= 0) {
118 if (EVP_PKEY_CTX_set_signature_md(ctx->pctx, type) <= 0) {
121 if (pctx) {
122 *pctx = ctx->pctx;
130 int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type,
132 return do_sigver_init(ctx, pctx, type, e, pkey, 0);
135 int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
137 return do_sigver_init(ctx, pctx, type, e, pkey, 1);
151 const int has_signctx = ctx->pctx->pmeth->signctx != NULL;
163 r = tmp_ctx.pctx->pmeth->signctx(tmp_ctx.pctx, out_sig, out_sig_len, &tmp_ctx);
171 if (EVP_PKEY_sign(ctx->pctx, out_sig, out_sig_len, md, mdlen) <= 0) {
176 if (ctx->pctx->pmeth->signctx(ctx->pctx, out_sig, out_sig_len, ctx) <= 0) {
181 if (EVP_PKEY_sign(ctx->pctx, out_sig, out_sig_len, NULL, s) <= 0) {
195 const int has_verifyctx = ctx->pctx->pmeth->verifyctx != NULL;
202 r = tmp_ctx.pctx->pmeth->verifyctx(tmp_ctx.pctx, sig, sig_len, &tmp_ctx);
211 return EVP_PKEY_verify(ctx->pctx, sig, sig_len, md, mdlen);