Mbed TLS v3.6.2
Loading...
Searching...
No Matches
TLS helper functions

Functions

psa_ecc_family_t mbedtls_ecc_group_to_psa (mbedtls_ecp_group_id grpid, size_t *bits)
 
mbedtls_ecp_group_id mbedtls_ecc_group_from_psa (psa_ecc_family_t family, size_t bits)
 
static psa_algorithm_t mbedtls_md_psa_alg_from_type (mbedtls_md_type_t md_type)
 This function returns the PSA algorithm identifier associated with the given digest type.
 
static mbedtls_md_type_t mbedtls_md_type_from_psa_alg (psa_algorithm_t psa_alg)
 This function returns the given digest type associated with the PSA algorithm identifier.
 
int mbedtls_ecdsa_raw_to_der (size_t bits, const unsigned char *raw, size_t raw_len, unsigned char *der, size_t der_size, size_t *der_len)
 
int mbedtls_ecdsa_der_to_raw (size_t bits, const unsigned char *der, size_t der_len, unsigned char *raw, size_t raw_size, size_t *raw_len)
 

Detailed Description

Function Documentation

◆ mbedtls_ecc_group_from_psa()

mbedtls_ecp_group_id mbedtls_ecc_group_from_psa ( psa_ecc_family_t family,
size_t bits )

Convert an ECC curve identifier from the PSA encoding to Mbed TLS.

Parameters
familyA PSA elliptic curve family identifier (PSA_ECC_FAMILY_xxx).
bitsThe bit-length of a private key on curve.
Returns
If the curve is supported in the PSA API, this function returns the corresponding Mbed TLS elliptic curve identifier (MBEDTLS_ECP_DP_xxx).
MBEDTLS_ECP_DP_NONE if the combination of curve and bits is not supported.

◆ mbedtls_ecc_group_to_psa()

psa_ecc_family_t mbedtls_ecc_group_to_psa ( mbedtls_ecp_group_id grpid,
size_t * bits )

Convert an ECC curve identifier from the Mbed TLS encoding to PSA.

Parameters
grpidAn Mbed TLS elliptic curve identifier (MBEDTLS_ECP_DP_xxx).
[out]bitsOn success the bit size of the curve; 0 on failure.
Returns
If the curve is supported in the PSA API, this function returns the proper PSA curve identifier (PSA_ECC_FAMILY_xxx). This holds even if the curve is not supported by the ECP module.
0 if the curve is not supported in the PSA API.

◆ mbedtls_ecdsa_der_to_raw()

int mbedtls_ecdsa_der_to_raw ( size_t bits,
const unsigned char * der,
size_t der_len,
unsigned char * raw,
size_t raw_size,
size_t * raw_len )

Convert an ECDSA signature from DER ASN.1 format to raw format.

Parameters
bitsSize of each coordinate in bits.
derBuffer that contains the signature in DER format.
der_lenSize of der in bytes.
[out]rawBuffer that will be filled with the converted raw signature. It can overlap with der buffer.
raw_sizeSize of raw in bytes. Must be at least 2 * PSA_BITS_TO_BYTES(bits) bytes.
[out]raw_lenOn success it is updated with the amount of valid data (in bytes) written to raw. It's undefined in case of failure.

◆ mbedtls_ecdsa_raw_to_der()

int mbedtls_ecdsa_raw_to_der ( size_t bits,
const unsigned char * raw,
size_t raw_len,
unsigned char * der,
size_t der_size,
size_t * der_len )

Convert an ECDSA signature from raw format to DER ASN.1 format.

Parameters
bitsSize of each coordinate in bits.
rawBuffer that contains the signature in raw format.
raw_lenLength of raw in bytes. This must be PSA_BITS_TO_BYTES(bits) bytes.
[out]derBuffer that will be filled with the converted DER output. It can overlap with raw buffer.
der_sizeSize of der in bytes. It is enough if der_size is at least the size of the actual output. (The size of the output can vary depending on the presence of leading zeros in the data.) You can use MBEDTLS_ECDSA_MAX_SIG_LEN(bits) to determine a size that is large enough for all signatures for a given value of bits.
[out]der_lenOn success it contains the amount of valid data (in bytes) written to der. It's undefined in case of failure.

◆ mbedtls_md_psa_alg_from_type()

static psa_algorithm_t mbedtls_md_psa_alg_from_type ( mbedtls_md_type_t md_type)
inlinestatic

This function returns the PSA algorithm identifier associated with the given digest type.

Parameters
md_typeThe type of digest to search for. Must not be NONE.
Warning
If md_type is MBEDTLS_MD_NONE, this function will not return PSA_ALG_NONE, but an invalid algorithm.
This function does not check if the algorithm is supported, it always returns the corresponding identifier.
Returns
The PSA algorithm identifier associated with md_type, regardless of whether it is supported or not.

Definition at line 121 of file psa_util.h.

References PSA_ALG_CATEGORY_HASH.

◆ mbedtls_md_type_from_psa_alg()

static mbedtls_md_type_t mbedtls_md_type_from_psa_alg ( psa_algorithm_t psa_alg)
inlinestatic

This function returns the given digest type associated with the PSA algorithm identifier.

Parameters
psa_algThe PSA algorithm identifier to search for.
Warning
This function does not check if the algorithm is supported, it always returns the corresponding identifier.
Returns
The MD type associated with psa_alg, regardless of whether it is supported or not.

Definition at line 138 of file psa_util.h.

References PSA_ALG_HASH_MASK.