Lines Matching refs:ameth

27                            const EVP_PKEY_ASN1_METHOD *, ameth);
36 const EVP_PKEY_ASN1_METHOD *, ameth);
110 const EVP_PKEY_ASN1_METHOD *ameth = NULL;
117 ameth = ENGINE_pkey_asn1_find_str(&e, str, len);
118 if (ameth) {
123 ameth = NULL;
126 return ameth;
132 ameth = EVP_PKEY_asn1_get0(i);
133 if (ameth->pkey_flags & ASN1_PKEY_ALIAS)
135 if ((int)strlen(ameth->pem_str) == len
136 && OPENSSL_strncasecmp(ameth->pem_str, str, len) == 0)
137 return ameth;
142 int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
154 if (!((ameth->pem_str == NULL
155 && (ameth->pkey_flags & ASN1_PKEY_ALIAS) != 0)
156 || (ameth->pem_str != NULL
157 && (ameth->pkey_flags & ASN1_PKEY_ALIAS) == 0))) {
168 tmp.pkey_id = ameth->pkey_id;
175 if (!sk_EVP_PKEY_ASN1_METHOD_push(app_methods, ameth))
183 EVP_PKEY_ASN1_METHOD *ameth;
184 ameth = EVP_PKEY_asn1_new(from, ASN1_PKEY_ALIAS, NULL, NULL);
185 if (ameth == NULL)
187 ameth->pkey_base_id = to;
188 if (!EVP_PKEY_asn1_add0(ameth)) {
189 EVP_PKEY_asn1_free(ameth);
198 const EVP_PKEY_ASN1_METHOD *ameth)
200 if (!ameth)
203 *ppkey_id = ameth->pkey_id;
205 *ppkey_base_id = ameth->pkey_base_id;
207 *ppkey_flags = ameth->pkey_flags;
209 *pinfo = ameth->info;
211 *ppem_str = ameth->pem_str;
217 return pkey->ameth;
223 EVP_PKEY_ASN1_METHOD *ameth = OPENSSL_zalloc(sizeof(*ameth));
225 if (ameth == NULL) {
230 ameth->pkey_id = id;
231 ameth->pkey_base_id = id;
232 ameth->pkey_flags = flags | ASN1_PKEY_DYNAMIC;
235 ameth->info = OPENSSL_strdup(info);
236 if (ameth->info == NULL)
241 ameth->pem_str = OPENSSL_strdup(pem_str);
242 if (ameth->pem_str == NULL)
246 return ameth;
249 EVP_PKEY_asn1_free(ameth);
273 void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
275 if (ameth && (ameth->pkey_flags & ASN1_PKEY_DYNAMIC)) {
276 OPENSSL_free(ameth->pem_str);
277 OPENSSL_free(ameth->info);
278 OPENSSL_free(ameth);
282 void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
295 ameth->pub_decode = pub_decode;
296 ameth->pub_encode = pub_encode;
297 ameth->pub_cmp = pub_cmp;
298 ameth->pub_print = pub_print;
299 ameth->pkey_size = pkey_size;
300 ameth->pkey_bits = pkey_bits;
303 void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
314 ameth->priv_decode = priv_decode;
315 ameth->priv_encode = priv_encode;
316 ameth->priv_print = priv_print;
319 void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
334 ameth->param_decode = param_decode;
335 ameth->param_encode = param_encode;
336 ameth->param_missing = param_missing;
337 ameth->param_copy = param_copy;
338 ameth->param_cmp = param_cmp;
339 ameth->param_print = param_print;
342 void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
345 ameth->pkey_free = pkey_free;
348 void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
352 ameth->pkey_ctrl = pkey_ctrl;
355 void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
359 ameth->pkey_security_bits = pkey_security_bits;
362 void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,
376 ameth->item_sign = item_sign;
377 ameth->item_verify = item_verify;
380 void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth,
385 ameth->siginf_set = siginf_set;
388 void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
391 ameth->pkey_check = pkey_check;
394 void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
397 ameth->pkey_public_check = pkey_pub_check;
400 void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
403 ameth->pkey_param_check = pkey_param_check;
406 void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth,
412 ameth->set_priv_key = set_priv_key;
415 void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth,
420 ameth->set_pub_key = set_pub_key;
423 void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth,
428 ameth->get_priv_key = get_priv_key;
431 void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth,
436 ameth->get_pub_key = get_pub_key;