Lines Matching refs:ctx
17 #define M_check_autoarg(ctx, arg, arglen, err) \ argument
18 if (ctx->pmeth->flags & EVP_PKEY_FLAG_AUTOARGLEN) { \
19 size_t pksize = (size_t)EVP_PKEY_size(ctx->pkey); \
35 int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx) in EVP_PKEY_sign_init() argument
38 if (!ctx || !ctx->pmeth || !ctx->pmeth->sign) { in EVP_PKEY_sign_init()
43 ctx->operation = EVP_PKEY_OP_SIGN; in EVP_PKEY_sign_init()
44 if (!ctx->pmeth->sign_init) in EVP_PKEY_sign_init()
46 ret = ctx->pmeth->sign_init(ctx); in EVP_PKEY_sign_init()
48 ctx->operation = EVP_PKEY_OP_UNDEFINED; in EVP_PKEY_sign_init()
52 int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, in EVP_PKEY_sign() argument
56 if (!ctx || !ctx->pmeth || !ctx->pmeth->sign) { in EVP_PKEY_sign()
61 if (ctx->operation != EVP_PKEY_OP_SIGN) { in EVP_PKEY_sign()
65 M_check_autoarg(ctx, sig, siglen, EVP_F_EVP_PKEY_SIGN) in EVP_PKEY_sign()
66 return ctx->pmeth->sign(ctx, sig, siglen, tbs, tbslen); in EVP_PKEY_sign()
69 int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx) in EVP_PKEY_verify_init() argument
72 if (!ctx || !ctx->pmeth || !ctx->pmeth->verify) { in EVP_PKEY_verify_init()
77 ctx->operation = EVP_PKEY_OP_VERIFY; in EVP_PKEY_verify_init()
78 if (!ctx->pmeth->verify_init) in EVP_PKEY_verify_init()
80 ret = ctx->pmeth->verify_init(ctx); in EVP_PKEY_verify_init()
82 ctx->operation = EVP_PKEY_OP_UNDEFINED; in EVP_PKEY_verify_init()
86 int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, in EVP_PKEY_verify() argument
90 if (!ctx || !ctx->pmeth || !ctx->pmeth->verify) { in EVP_PKEY_verify()
95 if (ctx->operation != EVP_PKEY_OP_VERIFY) { in EVP_PKEY_verify()
99 return ctx->pmeth->verify(ctx, sig, siglen, tbs, tbslen); in EVP_PKEY_verify()
102 int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx) in EVP_PKEY_verify_recover_init() argument
105 if (!ctx || !ctx->pmeth || !ctx->pmeth->verify_recover) { in EVP_PKEY_verify_recover_init()
110 ctx->operation = EVP_PKEY_OP_VERIFYRECOVER; in EVP_PKEY_verify_recover_init()
111 if (!ctx->pmeth->verify_recover_init) in EVP_PKEY_verify_recover_init()
113 ret = ctx->pmeth->verify_recover_init(ctx); in EVP_PKEY_verify_recover_init()
115 ctx->operation = EVP_PKEY_OP_UNDEFINED; in EVP_PKEY_verify_recover_init()
119 int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, in EVP_PKEY_verify_recover() argument
123 if (!ctx || !ctx->pmeth || !ctx->pmeth->verify_recover) { in EVP_PKEY_verify_recover()
128 if (ctx->operation != EVP_PKEY_OP_VERIFYRECOVER) { in EVP_PKEY_verify_recover()
132 M_check_autoarg(ctx, rout, routlen, EVP_F_EVP_PKEY_VERIFY_RECOVER) in EVP_PKEY_verify_recover()
133 return ctx->pmeth->verify_recover(ctx, rout, routlen, sig, siglen); in EVP_PKEY_verify_recover()
136 int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx) in EVP_PKEY_encrypt_init() argument
139 if (!ctx || !ctx->pmeth || !ctx->pmeth->encrypt) { in EVP_PKEY_encrypt_init()
144 ctx->operation = EVP_PKEY_OP_ENCRYPT; in EVP_PKEY_encrypt_init()
145 if (!ctx->pmeth->encrypt_init) in EVP_PKEY_encrypt_init()
147 ret = ctx->pmeth->encrypt_init(ctx); in EVP_PKEY_encrypt_init()
149 ctx->operation = EVP_PKEY_OP_UNDEFINED; in EVP_PKEY_encrypt_init()
153 int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, in EVP_PKEY_encrypt() argument
157 if (!ctx || !ctx->pmeth || !ctx->pmeth->encrypt) { in EVP_PKEY_encrypt()
162 if (ctx->operation != EVP_PKEY_OP_ENCRYPT) { in EVP_PKEY_encrypt()
166 M_check_autoarg(ctx, out, outlen, EVP_F_EVP_PKEY_ENCRYPT) in EVP_PKEY_encrypt()
167 return ctx->pmeth->encrypt(ctx, out, outlen, in, inlen); in EVP_PKEY_encrypt()
170 int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx) in EVP_PKEY_decrypt_init() argument
173 if (!ctx || !ctx->pmeth || !ctx->pmeth->decrypt) { in EVP_PKEY_decrypt_init()
178 ctx->operation = EVP_PKEY_OP_DECRYPT; in EVP_PKEY_decrypt_init()
179 if (!ctx->pmeth->decrypt_init) in EVP_PKEY_decrypt_init()
181 ret = ctx->pmeth->decrypt_init(ctx); in EVP_PKEY_decrypt_init()
183 ctx->operation = EVP_PKEY_OP_UNDEFINED; in EVP_PKEY_decrypt_init()
187 int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, in EVP_PKEY_decrypt() argument
191 if (!ctx || !ctx->pmeth || !ctx->pmeth->decrypt) { in EVP_PKEY_decrypt()
196 if (ctx->operation != EVP_PKEY_OP_DECRYPT) { in EVP_PKEY_decrypt()
200 M_check_autoarg(ctx, out, outlen, EVP_F_EVP_PKEY_DECRYPT) in EVP_PKEY_decrypt()
201 return ctx->pmeth->decrypt(ctx, out, outlen, in, inlen); in EVP_PKEY_decrypt()
204 int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx) in EVP_PKEY_derive_init() argument
207 if (!ctx || !ctx->pmeth || !ctx->pmeth->derive) { in EVP_PKEY_derive_init()
212 ctx->operation = EVP_PKEY_OP_DERIVE; in EVP_PKEY_derive_init()
213 if (!ctx->pmeth->derive_init) in EVP_PKEY_derive_init()
215 ret = ctx->pmeth->derive_init(ctx); in EVP_PKEY_derive_init()
217 ctx->operation = EVP_PKEY_OP_UNDEFINED; in EVP_PKEY_derive_init()
221 int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer) in EVP_PKEY_derive_set_peer() argument
224 if (!ctx || !ctx->pmeth in EVP_PKEY_derive_set_peer()
225 || !(ctx->pmeth->derive || ctx->pmeth->encrypt || ctx->pmeth->decrypt) in EVP_PKEY_derive_set_peer()
226 || !ctx->pmeth->ctrl) { in EVP_PKEY_derive_set_peer()
231 if (ctx->operation != EVP_PKEY_OP_DERIVE in EVP_PKEY_derive_set_peer()
232 && ctx->operation != EVP_PKEY_OP_ENCRYPT in EVP_PKEY_derive_set_peer()
233 && ctx->operation != EVP_PKEY_OP_DECRYPT) { in EVP_PKEY_derive_set_peer()
239 ret = ctx->pmeth->ctrl(ctx, EVP_PKEY_CTRL_PEER_KEY, 0, peer); in EVP_PKEY_derive_set_peer()
247 if (!ctx->pkey) { in EVP_PKEY_derive_set_peer()
252 if (ctx->pkey->type != peer->type) { in EVP_PKEY_derive_set_peer()
265 !EVP_PKEY_cmp_parameters(ctx->pkey, peer)) { in EVP_PKEY_derive_set_peer()
270 EVP_PKEY_free(ctx->peerkey); in EVP_PKEY_derive_set_peer()
271 ctx->peerkey = peer; in EVP_PKEY_derive_set_peer()
273 ret = ctx->pmeth->ctrl(ctx, EVP_PKEY_CTRL_PEER_KEY, 1, peer); in EVP_PKEY_derive_set_peer()
276 ctx->peerkey = NULL; in EVP_PKEY_derive_set_peer()
284 int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *pkeylen) in EVP_PKEY_derive() argument
286 if (!ctx || !ctx->pmeth || !ctx->pmeth->derive) { in EVP_PKEY_derive()
291 if (ctx->operation != EVP_PKEY_OP_DERIVE) { in EVP_PKEY_derive()
295 M_check_autoarg(ctx, key, pkeylen, EVP_F_EVP_PKEY_DERIVE) in EVP_PKEY_derive()
296 return ctx->pmeth->derive(ctx, key, pkeylen); in EVP_PKEY_derive()