Lines Matching refs:keymgmt

36         if ((data->keydata = evp_keymgmt_newdata(data->keymgmt)) == NULL) {
50 if (evp_keymgmt_import(data->keymgmt, data->keydata, data->selection,
54 evp_keymgmt_freedata(data->keymgmt, data->keydata);
60 int evp_keymgmt_util_assign_pkey(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt,
63 if (pkey == NULL || keymgmt == NULL || keydata == NULL
64 || !EVP_PKEY_set_type_by_keymgmt(pkey, keymgmt)) {
73 EVP_PKEY *evp_keymgmt_util_make_pkey(EVP_KEYMGMT *keymgmt, void *keydata)
77 if (keymgmt == NULL
80 || !evp_keymgmt_util_assign_pkey(pkey, keymgmt, keydata)) {
92 return evp_keymgmt_export(pk->keymgmt, pk->keydata, selection,
96 void *evp_keymgmt_util_export_to_provider(EVP_PKEY *pk, EVP_KEYMGMT *keymgmt,
103 if (keymgmt == NULL)
111 * If |keymgmt| matches the "origin" |keymgmt|, there is no more to do.
112 * The "origin" is determined by the |keymgmt| pointers being identical
117 if (pk->keymgmt == keymgmt
118 || (pk->keymgmt->name_id == keymgmt->name_id
119 && pk->keymgmt->prov == keymgmt->prov))
126 * try to find our keymgmt in the operation cache. If it has changed
127 * and our keymgmt isn't found, we will clear the cache further down.
130 /* If this key is already exported to |keymgmt|, no more to do */
131 op = evp_keymgmt_util_find_operation_cache(pk, keymgmt, selection);
132 if (op != NULL && op->keymgmt != NULL) {
141 /* If the "origin" |keymgmt| doesn't support exporting, give up */
142 if (pk->keymgmt->export == NULL)
146 * Make sure that the type of the keymgmt to export to matches the type
149 if (!ossl_assert(match_type(pk->keymgmt, keymgmt)))
160 import_data.keymgmt = keymgmt;
173 evp_keymgmt_freedata(keymgmt, import_data.keydata);
177 op = evp_keymgmt_util_find_operation_cache(pk, keymgmt, selection);
187 evp_keymgmt_freedata(keymgmt, import_data.keydata);
200 if (!evp_keymgmt_util_cache_keydata(pk, keymgmt, import_data.keydata,
203 evp_keymgmt_freedata(keymgmt, import_data.keydata);
217 evp_keymgmt_freedata(e->keymgmt, e->keydata);
218 EVP_KEYMGMT_free(e->keymgmt);
237 EVP_KEYMGMT *keymgmt,
249 if (keymgmt == p->keymgmt && (p->selection & selection) == selection)
255 int evp_keymgmt_util_cache_keydata(EVP_PKEY *pk, EVP_KEYMGMT *keymgmt,
271 p->keymgmt = keymgmt;
274 if (!EVP_KEYMGMT_up_ref(keymgmt)) {
280 EVP_KEYMGMT_free(keymgmt);
306 if (evp_keymgmt_get_params(pk->keymgmt, pk->keydata, params)) {
314 void *evp_keymgmt_util_fromdata(EVP_PKEY *target, EVP_KEYMGMT *keymgmt,
319 if ((keydata = evp_keymgmt_newdata(keymgmt)) == NULL
320 || !evp_keymgmt_import(keymgmt, keydata, selection, params)
321 || !evp_keymgmt_util_assign_pkey(target, keymgmt, keydata)) {
322 evp_keymgmt_freedata(keymgmt, keydata);
331 if (pk->keymgmt == NULL)
334 return evp_keymgmt_has(pk->keymgmt, pk->keydata, selection);
339 * but also in the operation cache to see if there's any common keymgmt that
361 keymgmt1 = pk1->keymgmt;
363 keymgmt2 = pk2->keymgmt;
379 /* Complex case, where the keymgmt differ */
389 * but only to keymgmt's that supply a matching function.
430 /* If we still don't have matching keymgmt implementations, we give up */
447 EVP_KEYMGMT *to_keymgmt = to->keymgmt;
460 to_keymgmt = from->keymgmt;
462 if (to_keymgmt == from->keymgmt && to_keymgmt->dup != NULL
469 } else if (match_type(to_keymgmt, from->keymgmt)) {
472 import_data.keymgmt = to_keymgmt;
493 * We only need to set the |to| type when its |keymgmt| isn't set.
497 * which isn't as careful with |to|'s original |keymgmt|, since it's
501 if (to->keymgmt == NULL
512 void *evp_keymgmt_util_gen(EVP_PKEY *target, EVP_KEYMGMT *keymgmt,
517 if ((keydata = evp_keymgmt_gen(keymgmt, genctx, cb, cbarg)) == NULL
518 || !evp_keymgmt_util_assign_pkey(target, keymgmt, keydata)) {
519 evp_keymgmt_freedata(keymgmt, keydata);
532 int evp_keymgmt_util_get_deflt_digest_name(EVP_KEYMGMT *keymgmt,
551 if (!evp_keymgmt_get_params(keymgmt, keydata, params))
573 * If |keymgmt| has the method function |query_operation_name|, use it to get
577 const char *evp_keymgmt_util_query_operation_name(EVP_KEYMGMT *keymgmt,
582 if (keymgmt != NULL) {
583 if (keymgmt->query_operation_name != NULL)
584 name = keymgmt->query_operation_name(op_id);
586 name = EVP_KEYMGMT_get0_name(keymgmt);