Lines Matching refs:pkey

53 static int pkey_set_type(EVP_PKEY *pkey, ENGINE *e, int type, const char *str,
61 int EVP_PKEY_get_bits(const EVP_PKEY *pkey) in EVP_PKEY_get_bits() argument
65 if (pkey != NULL) { in EVP_PKEY_get_bits()
66 size = pkey->cache.bits; in EVP_PKEY_get_bits()
67 if (pkey->ameth != NULL && pkey->ameth->pkey_bits != NULL) in EVP_PKEY_get_bits()
68 size = pkey->ameth->pkey_bits(pkey); in EVP_PKEY_get_bits()
77 int EVP_PKEY_get_security_bits(const EVP_PKEY *pkey) in EVP_PKEY_get_security_bits() argument
81 if (pkey != NULL) { in EVP_PKEY_get_security_bits()
82 size = pkey->cache.security_bits; in EVP_PKEY_get_security_bits()
83 if (pkey->ameth != NULL && pkey->ameth->pkey_security_bits != NULL) in EVP_PKEY_get_security_bits()
84 size = pkey->ameth->pkey_security_bits(pkey); in EVP_PKEY_get_security_bits()
93 int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode) in EVP_PKEY_save_parameters() argument
96 if (pkey->type == EVP_PKEY_DSA) { in EVP_PKEY_save_parameters()
97 int ret = pkey->save_parameters; in EVP_PKEY_save_parameters()
100 pkey->save_parameters = mode; in EVP_PKEY_save_parameters()
105 if (pkey->type == EVP_PKEY_EC) { in EVP_PKEY_save_parameters()
106 int ret = pkey->save_parameters; in EVP_PKEY_save_parameters()
109 pkey->save_parameters = mode; in EVP_PKEY_save_parameters()
236 int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey) in EVP_PKEY_missing_parameters() argument
238 if (pkey != NULL) { in EVP_PKEY_missing_parameters()
240 return !evp_keymgmt_util_has((EVP_PKEY *)pkey, SELECT_PARAMETERS); in EVP_PKEY_missing_parameters()
242 if (pkey->keymgmt != NULL) in EVP_PKEY_missing_parameters()
243 return !evp_keymgmt_util_has((EVP_PKEY *)pkey, SELECT_PARAMETERS); in EVP_PKEY_missing_parameters()
244 if (pkey->ameth != NULL && pkey->ameth->param_missing != NULL) in EVP_PKEY_missing_parameters()
245 return pkey->ameth->param_missing(pkey); in EVP_PKEY_missing_parameters()
422 EVP_PKEY *pkey = NULL; in new_raw_key_int() local
467 if (EVP_PKEY_fromdata(ctx, &pkey, EVP_PKEY_KEYPAIR, params) != 1) { in new_raw_key_int()
474 return pkey; in new_raw_key_int()
482 pkey = EVP_PKEY_new(); in new_raw_key_int()
483 if (pkey == NULL) { in new_raw_key_int()
488 if (!pkey_set_type(pkey, e, nidtype, strtype, -1, NULL)) { in new_raw_key_int()
493 if (!ossl_assert(pkey->ameth != NULL)) in new_raw_key_int()
497 if (pkey->ameth->set_priv_key == NULL) { in new_raw_key_int()
502 if (!pkey->ameth->set_priv_key(pkey, key, len)) { in new_raw_key_int()
507 if (pkey->ameth->set_pub_key == NULL) { in new_raw_key_int()
512 if (!pkey->ameth->set_pub_key(pkey, key, len)) { in new_raw_key_int()
521 EVP_PKEY_free(pkey); in new_raw_key_int()
522 pkey = NULL; in new_raw_key_int()
525 return pkey; in new_raw_key_int()
588 int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char *priv, in EVP_PKEY_get_raw_private_key() argument
591 if (pkey->keymgmt != NULL) { in EVP_PKEY_get_raw_private_key()
598 return evp_keymgmt_util_export(pkey, OSSL_KEYMGMT_SELECT_PRIVATE_KEY, in EVP_PKEY_get_raw_private_key()
602 if (pkey->ameth == NULL) { in EVP_PKEY_get_raw_private_key()
607 if (pkey->ameth->get_priv_key == NULL) { in EVP_PKEY_get_raw_private_key()
612 if (!pkey->ameth->get_priv_key(pkey, priv, len)) { in EVP_PKEY_get_raw_private_key()
620 int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char *pub, in EVP_PKEY_get_raw_public_key() argument
623 if (pkey->keymgmt != NULL) { in EVP_PKEY_get_raw_public_key()
630 return evp_keymgmt_util_export(pkey, OSSL_KEYMGMT_SELECT_PUBLIC_KEY, in EVP_PKEY_get_raw_public_key()
634 if (pkey->ameth == NULL) { in EVP_PKEY_get_raw_public_key()
639 if (pkey->ameth->get_pub_key == NULL) { in EVP_PKEY_get_raw_public_key()
644 if (!pkey->ameth->get_pub_key(pkey, pub, len)) { in EVP_PKEY_get_raw_public_key()
663 EVP_PKEY *pkey = NULL; in new_cmac_key_int() local
697 if (EVP_PKEY_fromdata(ctx, &pkey, EVP_PKEY_KEYPAIR, params) <= 0) { in new_cmac_key_int()
705 return pkey; in new_cmac_key_int()
718 int EVP_PKEY_set_type(EVP_PKEY *pkey, int type) in EVP_PKEY_set_type() argument
720 return pkey_set_type(pkey, NULL, type, NULL, -1, NULL); in EVP_PKEY_set_type()
723 int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len) in EVP_PKEY_set_type_str() argument
725 return pkey_set_type(pkey, NULL, EVP_PKEY_NONE, str, len, NULL); in EVP_PKEY_set_type_str()
729 int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e) in EVP_PKEY_set1_engine() argument
736 if (ENGINE_get_pkey_meth(e, pkey->type) == NULL) { in EVP_PKEY_set1_engine()
742 ENGINE_finish(pkey->pmeth_engine); in EVP_PKEY_set1_engine()
743 pkey->pmeth_engine = e; in EVP_PKEY_set1_engine()
747 ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey) in EVP_PKEY_get0_engine() argument
749 return pkey->engine; in EVP_PKEY_get0_engine()
754 static void detect_foreign_key(EVP_PKEY *pkey) in detect_foreign_key() argument
756 switch (pkey->type) { in detect_foreign_key()
759 pkey->foreign = pkey->pkey.rsa != NULL in detect_foreign_key()
760 && ossl_rsa_is_foreign(pkey->pkey.rsa); in detect_foreign_key()
766 pkey->foreign = pkey->pkey.ec != NULL in detect_foreign_key()
767 && ossl_ec_key_is_foreign(pkey->pkey.ec); in detect_foreign_key()
772 pkey->foreign = pkey->pkey.dsa != NULL in detect_foreign_key()
773 && ossl_dsa_is_foreign(pkey->pkey.dsa); in detect_foreign_key()
778 pkey->foreign = pkey->pkey.dh != NULL in detect_foreign_key()
779 && ossl_dh_is_foreign(pkey->pkey.dh); in detect_foreign_key()
783 pkey->foreign = 0; in detect_foreign_key()
788 int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key) in EVP_PKEY_assign() argument
812 if (pkey == NULL || !EVP_PKEY_set_type(pkey, type)) in EVP_PKEY_assign()
815 pkey->pkey.ptr = key; in EVP_PKEY_assign()
816 detect_foreign_key(pkey); in EVP_PKEY_assign()
822 void *EVP_PKEY_get0(const EVP_PKEY *pkey) in EVP_PKEY_get0() argument
824 if (pkey == NULL) in EVP_PKEY_get0()
827 if (!evp_pkey_is_provided(pkey)) in EVP_PKEY_get0()
828 return pkey->pkey.ptr; in EVP_PKEY_get0()
833 const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len) in EVP_PKEY_get0_hmac() argument
836 if (pkey->type != EVP_PKEY_HMAC) { in EVP_PKEY_get0_hmac()
840 os = evp_pkey_get_legacy((EVP_PKEY *)pkey); in EVP_PKEY_get0_hmac()
849 const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len) in EVP_PKEY_get0_poly1305() argument
852 if (pkey->type != EVP_PKEY_POLY1305) { in EVP_PKEY_get0_poly1305()
856 os = evp_pkey_get_legacy((EVP_PKEY *)pkey); in EVP_PKEY_get0_poly1305()
866 const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len) in EVP_PKEY_get0_siphash() argument
870 if (pkey->type != EVP_PKEY_SIPHASH) { in EVP_PKEY_get0_siphash()
874 os = evp_pkey_get_legacy((EVP_PKEY *)pkey); in EVP_PKEY_get0_siphash()
884 static DSA *evp_pkey_get0_DSA_int(const EVP_PKEY *pkey) in evp_pkey_get0_DSA_int() argument
886 if (pkey->type != EVP_PKEY_DSA) { in evp_pkey_get0_DSA_int()
890 return evp_pkey_get_legacy((EVP_PKEY *)pkey); in evp_pkey_get0_DSA_int()
893 const DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey) in EVP_PKEY_get0_DSA() argument
895 return evp_pkey_get0_DSA_int(pkey); in EVP_PKEY_get0_DSA()
898 int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key) in EVP_PKEY_set1_DSA() argument
900 int ret = EVP_PKEY_assign_DSA(pkey, key); in EVP_PKEY_set1_DSA()
905 DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey) in EVP_PKEY_get1_DSA() argument
907 DSA *ret = evp_pkey_get0_DSA_int(pkey); in EVP_PKEY_get1_DSA()
916 static const ECX_KEY *evp_pkey_get0_ECX_KEY(const EVP_PKEY *pkey, int type) in evp_pkey_get0_ECX_KEY() argument
918 if (EVP_PKEY_get_base_id(pkey) != type) { in evp_pkey_get0_ECX_KEY()
922 return evp_pkey_get_legacy((EVP_PKEY *)pkey); in evp_pkey_get0_ECX_KEY()
925 static ECX_KEY *evp_pkey_get1_ECX_KEY(EVP_PKEY *pkey, int type) in evp_pkey_get1_ECX_KEY() argument
927 ECX_KEY *ret = (ECX_KEY *)evp_pkey_get0_ECX_KEY(pkey, type); in evp_pkey_get1_ECX_KEY()
935 ECX_KEY *ossl_evp_pkey_get1_##NAME(EVP_PKEY *pkey) \
937 return evp_pkey_get1_ECX_KEY(pkey, EVP_PKEY_##NAME); \
948 int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *dhkey) in IMPLEMENT_ECX_VARIANT()
976 ret = EVP_PKEY_assign(pkey, type, dhkey); in IMPLEMENT_ECX_VARIANT()
983 DH *evp_pkey_get0_DH_int(const EVP_PKEY *pkey) in evp_pkey_get0_DH_int() argument
985 if (pkey->type != EVP_PKEY_DH && pkey->type != EVP_PKEY_DHX) { in evp_pkey_get0_DH_int()
989 return evp_pkey_get_legacy((EVP_PKEY *)pkey); in evp_pkey_get0_DH_int()
992 const DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey) in EVP_PKEY_get0_DH() argument
994 return evp_pkey_get0_DH_int(pkey); in EVP_PKEY_get0_DH()
997 DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey) in EVP_PKEY_get1_DH() argument
999 DH *ret = evp_pkey_get0_DH_int(pkey); in EVP_PKEY_get1_DH()
1023 int EVP_PKEY_get_id(const EVP_PKEY *pkey) in EVP_PKEY_get_id() argument
1025 return pkey->type; in EVP_PKEY_get_id()
1028 int EVP_PKEY_get_base_id(const EVP_PKEY *pkey) in EVP_PKEY_get_base_id() argument
1030 return EVP_PKEY_type(pkey->type); in EVP_PKEY_get_base_id()
1087 int EVP_PKEY_is_a(const EVP_PKEY *pkey, const char *name) in EVP_PKEY_is_a() argument
1089 if (pkey == NULL) in EVP_PKEY_is_a()
1091 if (pkey->keymgmt == NULL) in EVP_PKEY_is_a()
1092 return pkey->type == evp_pkey_name2type(name); in EVP_PKEY_is_a()
1093 return EVP_KEYMGMT_is_a(pkey->keymgmt, name); in EVP_PKEY_is_a()
1096 int EVP_PKEY_type_names_do_all(const EVP_PKEY *pkey, in EVP_PKEY_type_names_do_all() argument
1100 if (!evp_pkey_is_typed(pkey)) in EVP_PKEY_type_names_do_all()
1103 if (!evp_pkey_is_provided(pkey)) { in EVP_PKEY_type_names_do_all()
1104 const char *name = OBJ_nid2sn(EVP_PKEY_get_id(pkey)); in EVP_PKEY_type_names_do_all()
1109 return EVP_KEYMGMT_names_do_all(pkey->keymgmt, fn, data); in EVP_PKEY_type_names_do_all()
1112 int EVP_PKEY_can_sign(const EVP_PKEY *pkey) in EVP_PKEY_can_sign() argument
1114 if (pkey->keymgmt == NULL) { in EVP_PKEY_can_sign()
1115 switch (EVP_PKEY_get_base_id(pkey)) { in EVP_PKEY_can_sign()
1128 return EC_KEY_can_sign(pkey->pkey.ec); in EVP_PKEY_can_sign()
1134 const OSSL_PROVIDER *prov = EVP_KEYMGMT_get0_provider(pkey->keymgmt); in EVP_PKEY_can_sign()
1137 pkey->keymgmt->query_operation_name != NULL in EVP_PKEY_can_sign()
1138 ? pkey->keymgmt->query_operation_name(OSSL_OP_SIGNATURE) in EVP_PKEY_can_sign()
1139 : EVP_KEYMGMT_get0_name(pkey->keymgmt); in EVP_PKEY_can_sign()
1188 static int unsup_alg(BIO *out, const EVP_PKEY *pkey, int indent, in unsup_alg() argument
1193 kstr, OBJ_nid2ln(pkey->type)) > 0; in unsup_alg()
1196 static int print_pkey(const EVP_PKEY *pkey, BIO *out, int indent, in print_pkey() argument
1199 int (*legacy_print)(BIO *out, const EVP_PKEY *pkey, in print_pkey()
1211 ctx = OSSL_ENCODER_CTX_new_for_pkey(pkey, selection, "TEXT", NULL, in print_pkey()
1222 ret = legacy_print(out, pkey, 0, legacy_pctx); in print_pkey()
1224 ret = unsup_alg(out, pkey, 0, "Public Key"); in print_pkey()
1231 int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, in EVP_PKEY_print_public() argument
1234 return print_pkey(pkey, out, indent, EVP_PKEY_PUBLIC_KEY, NULL, in EVP_PKEY_print_public()
1235 (pkey->ameth != NULL ? pkey->ameth->pub_print : NULL), in EVP_PKEY_print_public()
1239 int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, in EVP_PKEY_print_private() argument
1242 return print_pkey(pkey, out, indent, EVP_PKEY_PRIVATE_KEY, NULL, in EVP_PKEY_print_private()
1243 (pkey->ameth != NULL ? pkey->ameth->priv_print : NULL), in EVP_PKEY_print_private()
1247 int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, in EVP_PKEY_print_params() argument
1250 return print_pkey(pkey, out, indent, EVP_PKEY_KEY_PARAMETERS, NULL, in EVP_PKEY_print_params()
1251 (pkey->ameth != NULL ? pkey->ameth->param_print : NULL), in EVP_PKEY_print_params()
1256 int EVP_PKEY_print_public_fp(FILE *fp, const EVP_PKEY *pkey, in EVP_PKEY_print_public_fp() argument
1264 ret = EVP_PKEY_print_public(b, pkey, indent, pctx); in EVP_PKEY_print_public_fp()
1269 int EVP_PKEY_print_private_fp(FILE *fp, const EVP_PKEY *pkey, in EVP_PKEY_print_private_fp() argument
1277 ret = EVP_PKEY_print_private(b, pkey, indent, pctx); in EVP_PKEY_print_private_fp()
1282 int EVP_PKEY_print_params_fp(FILE *fp, const EVP_PKEY *pkey, in EVP_PKEY_print_params_fp() argument
1290 ret = EVP_PKEY_print_params(b, pkey, indent, pctx); in EVP_PKEY_print_params_fp()
1308 static int legacy_asn1_ctrl_to_param(EVP_PKEY *pkey, int op, in legacy_asn1_ctrl_to_param() argument
1311 if (pkey->keymgmt == NULL) in legacy_asn1_ctrl_to_param()
1317 int rv = EVP_PKEY_get_default_digest_name(pkey, mdname, in legacy_asn1_ctrl_to_param()
1322 OSSL_LIB_CTX *libctx = ossl_provider_libctx(pkey->keymgmt->prov); in legacy_asn1_ctrl_to_param()
1357 static int evp_pkey_asn1_ctrl(EVP_PKEY *pkey, int op, int arg1, void *arg2) in evp_pkey_asn1_ctrl() argument
1359 if (pkey->ameth == NULL) in evp_pkey_asn1_ctrl()
1360 return legacy_asn1_ctrl_to_param(pkey, op, arg1, arg2); in evp_pkey_asn1_ctrl()
1361 if (pkey->ameth->pkey_ctrl == NULL) in evp_pkey_asn1_ctrl()
1363 return pkey->ameth->pkey_ctrl(pkey, op, arg1, arg2); in evp_pkey_asn1_ctrl()
1366 int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid) in EVP_PKEY_get_default_digest_nid() argument
1368 if (pkey == NULL) in EVP_PKEY_get_default_digest_nid()
1370 return evp_pkey_asn1_ctrl(pkey, ASN1_PKEY_CTRL_DEFAULT_MD_NID, 0, pnid); in EVP_PKEY_get_default_digest_nid()
1373 int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey, in EVP_PKEY_get_default_digest_name() argument
1376 if (pkey->ameth == NULL) in EVP_PKEY_get_default_digest_name()
1377 return evp_keymgmt_util_get_deflt_digest_name(pkey->keymgmt, in EVP_PKEY_get_default_digest_name()
1378 pkey->keydata, in EVP_PKEY_get_default_digest_name()
1383 int rv = EVP_PKEY_get_default_digest_nid(pkey, &nid); in EVP_PKEY_get_default_digest_name()
1392 int EVP_PKEY_get_group_name(const EVP_PKEY *pkey, char *gname, size_t gname_sz, in EVP_PKEY_get_group_name() argument
1395 return EVP_PKEY_get_utf8_string_param(pkey, OSSL_PKEY_PARAM_GROUP_NAME, in EVP_PKEY_get_group_name()
1399 int EVP_PKEY_digestsign_supports_digest(EVP_PKEY *pkey, OSSL_LIB_CTX *libctx, in EVP_PKEY_digestsign_supports_digest() argument
1410 propq, pkey, NULL); in EVP_PKEY_digestsign_supports_digest()
1418 int EVP_PKEY_set1_encoded_public_key(EVP_PKEY *pkey, const unsigned char *pub, in EVP_PKEY_set1_encoded_public_key() argument
1421 if (pkey == NULL) in EVP_PKEY_set1_encoded_public_key()
1424 if (evp_pkey_is_provided(pkey)) in EVP_PKEY_set1_encoded_public_key()
1427 EVP_PKEY_set_octet_string_param(pkey, in EVP_PKEY_set1_encoded_public_key()
1435 if (evp_pkey_asn1_ctrl(pkey, ASN1_PKEY_CTRL_SET1_TLS_ENCPT, publen, in EVP_PKEY_set1_encoded_public_key()
1442 size_t EVP_PKEY_get1_encoded_public_key(EVP_PKEY *pkey, unsigned char **ppub) in EVP_PKEY_get1_encoded_public_key() argument
1444 if (pkey == NULL) in EVP_PKEY_get1_encoded_public_key()
1447 if (evp_pkey_is_provided(pkey)) in EVP_PKEY_get1_encoded_public_key()
1457 EVP_PKEY_get_octet_string_param(pkey, in EVP_PKEY_get1_encoded_public_key()
1468 if (!EVP_PKEY_get_octet_string_param(pkey, in EVP_PKEY_get1_encoded_public_key()
1480 int rv = evp_pkey_asn1_ctrl(pkey, ASN1_PKEY_CTRL_GET1_TLS_ENCPT, 0, ppub); in EVP_PKEY_get1_encoded_public_key()
1538 static int pkey_set_type(EVP_PKEY *pkey, ENGINE *e, int type, const char *str, in pkey_set_type() argument
1556 if (pkey != NULL) { in pkey_set_type()
1560 free_it = free_it || pkey->pkey.ptr != NULL; in pkey_set_type()
1562 free_it = free_it || pkey->keydata != NULL; in pkey_set_type()
1564 evp_pkey_free_it(pkey); in pkey_set_type()
1570 if (pkey->type != EVP_PKEY_NONE in pkey_set_type()
1571 && type == pkey->save_type in pkey_set_type()
1572 && pkey->ameth != NULL) in pkey_set_type()
1576 ENGINE_finish(pkey->engine); in pkey_set_type()
1577 pkey->engine = NULL; in pkey_set_type()
1578 ENGINE_finish(pkey->pmeth_engine); in pkey_set_type()
1579 pkey->pmeth_engine = NULL; in pkey_set_type()
1589 if (pkey == NULL && eptr != NULL) in pkey_set_type()
1607 if (pkey != NULL) { in pkey_set_type()
1613 pkey->keymgmt = keymgmt; in pkey_set_type()
1615 pkey->save_type = type; in pkey_set_type()
1616 pkey->type = type; in pkey_set_type()
1625 pkey->ameth = ameth; in pkey_set_type()
1637 pkey->type = ameth->pkey_id; in pkey_set_type()
1639 pkey->type = EVP_PKEY_KEYMGMT; in pkey_set_type()
1647 pkey->engine = e; in pkey_set_type()
1676 int EVP_PKEY_set_type_by_keymgmt(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt) in EVP_PKEY_set_type_by_keymgmt() argument
1697 return pkey_set_type(pkey, NULL, EVP_PKEY_NONE, in EVP_PKEY_set_type_by_keymgmt()
1705 int EVP_PKEY_up_ref(EVP_PKEY *pkey) in EVP_PKEY_up_ref() argument
1709 if (CRYPTO_UP_REF(&pkey->references, &i) <= 0) in EVP_PKEY_up_ref()
1712 REF_PRINT_COUNT("EVP_PKEY", i, pkey); in EVP_PKEY_up_ref()
1717 EVP_PKEY *EVP_PKEY_dup(EVP_PKEY *pkey) in EVP_PKEY_dup() argument
1721 if (pkey == NULL) { in EVP_PKEY_dup()
1729 if (evp_pkey_is_blank(pkey)) in EVP_PKEY_dup()
1733 if (evp_pkey_is_provided(pkey)) in EVP_PKEY_dup()
1736 if (!evp_keymgmt_util_copy(dup_pk, pkey, in EVP_PKEY_dup()
1743 if (evp_pkey_is_legacy(pkey)) { in EVP_PKEY_dup()
1744 const EVP_PKEY_ASN1_METHOD *ameth = pkey->ameth; in EVP_PKEY_dup()
1747 if (pkey->pkey.ptr == NULL /* empty key, just set type */ in EVP_PKEY_dup()
1748 && EVP_PKEY_set_type(dup_pk, pkey->type) != 0) in EVP_PKEY_dup()
1753 if (!ameth->copy(dup_pk, pkey)) in EVP_PKEY_dup()
1764 &dup_pk->ex_data, &pkey->ex_data)) in EVP_PKEY_dup()
1767 if (pkey->attributes != NULL) { in EVP_PKEY_dup()
1768 if ((dup_pk->attributes = ossl_x509at_dup(pkey->attributes)) == NULL) in EVP_PKEY_dup()
1793 assert(x->pkey.ptr == NULL); in evp_pkey_free_legacy()
1798 x->pkey = x->legacy_cache_pkey; in evp_pkey_free_legacy()
1803 x->pkey.ptr = NULL; in evp_pkey_free_legacy()
1856 int EVP_PKEY_get_size(const EVP_PKEY *pkey) in EVP_PKEY_get_size() argument
1860 if (pkey != NULL) { in EVP_PKEY_get_size()
1861 size = pkey->cache.size; in EVP_PKEY_get_size()
1863 if (pkey->ameth != NULL && pkey->ameth->pkey_size != NULL) in EVP_PKEY_get_size()
1864 size = pkey->ameth->pkey_size(pkey); in EVP_PKEY_get_size()
1874 const char *EVP_PKEY_get0_description(const EVP_PKEY *pkey) in EVP_PKEY_get0_description() argument
1876 if (!evp_pkey_is_assigned(pkey)) in EVP_PKEY_get0_description()
1879 if (evp_pkey_is_provided(pkey) && pkey->keymgmt->description != NULL) in EVP_PKEY_get0_description()
1880 return pkey->keymgmt->description; in EVP_PKEY_get0_description()
1882 if (pkey->ameth != NULL) in EVP_PKEY_get0_description()
1883 return pkey->ameth->info; in EVP_PKEY_get0_description()
1904 check = check && pk->pkey.ptr == NULL; in evp_pkey_export_to_provider()
1911 if (pk->pkey.ptr != NULL) { in evp_pkey_export_to_provider()
1945 if (pk->pkey.ptr != NULL) { in evp_pkey_export_to_provider()
2173 return pk->pkey.ptr; in evp_pkey_get_legacy()
2196 ret = pk->legacy_cache_pkey.ptr = tmp_copy->pkey.ptr; in evp_pkey_get_legacy()
2197 tmp_copy->pkey.ptr = NULL; in evp_pkey_get_legacy()
2212 int EVP_PKEY_get_bn_param(const EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_get_bn_param() argument
2228 if (!EVP_PKEY_get_params(pkey, params)) { in EVP_PKEY_get_bn_param()
2242 if (!EVP_PKEY_get_params(pkey, params)) in EVP_PKEY_get_bn_param()
2261 int EVP_PKEY_get_octet_string_param(const EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_get_octet_string_param() argument
2273 if ((ret1 = EVP_PKEY_get_params(pkey, params))) in EVP_PKEY_get_octet_string_param()
2280 int EVP_PKEY_get_utf8_string_param(const EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_get_utf8_string_param() argument
2292 if ((ret1 = EVP_PKEY_get_params(pkey, params))) in EVP_PKEY_get_utf8_string_param()
2307 int EVP_PKEY_get_int_param(const EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_get_int_param() argument
2317 return EVP_PKEY_get_params(pkey, params) in EVP_PKEY_get_int_param()
2321 int EVP_PKEY_get_size_t_param(const EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_get_size_t_param() argument
2331 return EVP_PKEY_get_params(pkey, params) in EVP_PKEY_get_size_t_param()
2335 int EVP_PKEY_set_int_param(EVP_PKEY *pkey, const char *key_name, int in) in EVP_PKEY_set_int_param() argument
2344 return EVP_PKEY_set_params(pkey, params); in EVP_PKEY_set_int_param()
2347 int EVP_PKEY_set_size_t_param(EVP_PKEY *pkey, const char *key_name, size_t in) in EVP_PKEY_set_size_t_param() argument
2356 return EVP_PKEY_set_params(pkey, params); in EVP_PKEY_set_size_t_param()
2359 int EVP_PKEY_set_bn_param(EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_set_bn_param() argument
2368 || pkey == NULL in EVP_PKEY_set_bn_param()
2369 || !evp_pkey_is_assigned(pkey)) in EVP_PKEY_set_bn_param()
2380 return EVP_PKEY_set_params(pkey, params); in EVP_PKEY_set_bn_param()
2383 int EVP_PKEY_set_utf8_string_param(EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_set_utf8_string_param() argument
2393 return EVP_PKEY_set_params(pkey, params); in EVP_PKEY_set_utf8_string_param()
2396 int EVP_PKEY_set_octet_string_param(EVP_PKEY *pkey, const char *key_name, in EVP_PKEY_set_octet_string_param() argument
2407 return EVP_PKEY_set_params(pkey, params); in EVP_PKEY_set_octet_string_param()
2410 const OSSL_PARAM *EVP_PKEY_settable_params(const EVP_PKEY *pkey) in EVP_PKEY_settable_params() argument
2412 return (pkey != NULL && evp_pkey_is_provided(pkey)) in EVP_PKEY_settable_params()
2413 ? EVP_KEYMGMT_settable_params(pkey->keymgmt) in EVP_PKEY_settable_params()
2417 int EVP_PKEY_set_params(EVP_PKEY *pkey, OSSL_PARAM params[]) in EVP_PKEY_set_params() argument
2419 if (pkey != NULL) { in EVP_PKEY_set_params()
2420 if (evp_pkey_is_provided(pkey)) { in EVP_PKEY_set_params()
2421 pkey->dirty_cnt++; in EVP_PKEY_set_params()
2422 return evp_keymgmt_set_params(pkey->keymgmt, pkey->keydata, params); in EVP_PKEY_set_params()
2432 else if (evp_pkey_is_legacy(pkey)) { in EVP_PKEY_set_params()
2433 return evp_pkey_set_params_to_ctrl(pkey, params); in EVP_PKEY_set_params()
2442 const OSSL_PARAM *EVP_PKEY_gettable_params(const EVP_PKEY *pkey) in EVP_PKEY_gettable_params() argument
2444 return (pkey != NULL && evp_pkey_is_provided(pkey)) in EVP_PKEY_gettable_params()
2445 ? EVP_KEYMGMT_gettable_params(pkey->keymgmt) in EVP_PKEY_gettable_params()
2449 int EVP_PKEY_get_params(const EVP_PKEY *pkey, OSSL_PARAM params[]) in EVP_PKEY_get_params() argument
2451 if (pkey != NULL) { in EVP_PKEY_get_params()
2452 if (evp_pkey_is_provided(pkey)) in EVP_PKEY_get_params()
2453 return evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params) > 0; in EVP_PKEY_get_params()
2455 else if (evp_pkey_is_legacy(pkey)) in EVP_PKEY_get_params()
2456 return evp_pkey_get_params_to_ctrl(pkey, params) > 0; in EVP_PKEY_get_params()
2464 int EVP_PKEY_get_ec_point_conv_form(const EVP_PKEY *pkey) in EVP_PKEY_get_ec_point_conv_form() argument
2469 if (pkey == NULL) in EVP_PKEY_get_ec_point_conv_form()
2472 if (pkey->keymgmt == NULL in EVP_PKEY_get_ec_point_conv_form()
2473 || pkey->keydata == NULL) { in EVP_PKEY_get_ec_point_conv_form()
2476 const EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); in EVP_PKEY_get_ec_point_conv_form()
2487 if (!EVP_PKEY_get_utf8_string_param(pkey, in EVP_PKEY_get_ec_point_conv_form()
2504 int EVP_PKEY_get_field_type(const EVP_PKEY *pkey) in EVP_PKEY_get_field_type() argument
2509 if (pkey == NULL) in EVP_PKEY_get_field_type()
2512 if (pkey->keymgmt == NULL in EVP_PKEY_get_field_type()
2513 || pkey->keydata == NULL) { in EVP_PKEY_get_field_type()
2516 const EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); in EVP_PKEY_get_field_type()
2531 if (!EVP_PKEY_get_utf8_string_param(pkey, OSSL_PKEY_PARAM_EC_FIELD_TYPE, in EVP_PKEY_get_field_type()