Lines Matching defs:pk

10 #include "mbedtls/pk.h"
17 int mbedtls_pk_ecc_set_group(mbedtls_pk_context *pk, mbedtls_ecp_group_id grp_id)
24 if ((pk->ec_family != 0 && pk->ec_family != ec_family) ||
25 (pk->ec_bits != 0 && pk->ec_bits != ec_bits)) {
30 pk->ec_family = ec_family;
31 pk->ec_bits = ec_bits;
35 mbedtls_ecp_keypair *ecp = mbedtls_pk_ec_rw(*pk);
38 if (mbedtls_pk_ec_ro(*pk)->grp.id != MBEDTLS_ECP_DP_NONE &&
39 mbedtls_pk_ec_ro(*pk)->grp.id != grp_id) {
48 int mbedtls_pk_ecc_set_key(mbedtls_pk_context *pk, unsigned char *key, size_t key_len)
55 psa_set_key_type(&attributes, PSA_KEY_TYPE_ECC_KEY_PAIR(pk->ec_family));
56 if (pk->ec_family == PSA_ECC_FAMILY_MONTGOMERY) {
70 status = psa_import_key(&attributes, key, key_len, &pk->priv_id);
75 mbedtls_ecp_keypair *eck = mbedtls_pk_ec_rw(*pk);
84 int mbedtls_pk_ecc_set_pubkey_from_prv(mbedtls_pk_context *pk,
96 status = psa_export_public_key(pk->priv_id, pk->pub_raw, sizeof(pk->pub_raw),
97 &pk->pub_raw_len);
106 mbedtls_ecp_keypair *eck = (mbedtls_ecp_keypair *) pk->pk_ctx;
139 mbedtls_ecp_keypair *eck = (mbedtls_ecp_keypair *) pk->pk_ctx;
155 * [in/out] pk: in: must have the group set, see mbedtls_pk_ecc_set_group().
166 static int pk_ecc_set_pubkey_psa_ecp_fallback(mbedtls_pk_context *pk,
171 (void) pk;
180 ecp_group_id = mbedtls_ecc_group_from_psa(pk->ec_family, pk->ec_bits);
194 &pk->pub_raw_len, pk->pub_raw,
195 sizeof(pk->pub_raw));
204 int mbedtls_pk_ecc_set_pubkey(mbedtls_pk_context *pk, const unsigned char *pub, size_t pub_len)
209 if (!PSA_ECC_FAMILY_IS_WEIERSTRASS(pk->ec_family) || *pub == 0x04) {
213 if (pub_len > sizeof(pk->pub_raw)) {
216 memcpy(pk->pub_raw, pub, pub_len);
217 pk->pub_raw_len = pub_len;
220 int ret = pk_ecc_set_pubkey_psa_ecp_fallback(pk, pub, pub_len);
231 psa_set_key_type(&key_attrs, PSA_KEY_TYPE_ECC_PUBLIC_KEY(pk->ec_family));
232 psa_set_key_bits(&key_attrs, pk->ec_bits);
234 if ((psa_import_key(&key_attrs, pk->pub_raw, pk->pub_raw_len,
245 mbedtls_ecp_keypair *ec_key = (mbedtls_ecp_keypair *) pk->pk_ctx;