|
Mbed TLS v4.0.0
|
Macros | |
| #define | MBEDTLS_ECDSA_DER_MAX_SIG_LEN(bits) |
| Maximum size of a DER-encoded ECDSA signature for a given curve bit size. More... | |
| #define | MBEDTLS_ECDSA_DER_MAX_LEN MBEDTLS_ECDSA_DER_MAX_SIG_LEN(PSA_VENDOR_ECC_MAX_CURVE_BITS) |
Functions | |
| 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. More... | |
| 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. More... | |
| 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) |
| #define MBEDTLS_ECDSA_DER_MAX_LEN MBEDTLS_ECDSA_DER_MAX_SIG_LEN(PSA_VENDOR_ECC_MAX_CURVE_BITS) |
The maximal size of a DER-encoded ECDSA signature in Bytes.
Definition at line 136 of file psa_util.h.
| #define MBEDTLS_ECDSA_DER_MAX_SIG_LEN | ( | bits | ) |
Maximum size of a DER-encoded ECDSA signature for a given curve bit size.
| bits | Curve size in bits. |
Definition at line 130 of file psa_util.h.
| 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.
| bits | Size of each coordinate in bits. | |
| der | Buffer that contains the signature in DER format. | |
| der_len | Size of der in bytes. | |
| [out] | raw | Buffer that will be filled with the converted raw signature. It can overlap with der buffer. |
| raw_size | Size of raw in bytes. Must be at least 2 * PSA_BITS_TO_BYTES(bits) bytes. | |
| [out] | raw_len | On success it is updated with the amount of valid data (in bytes) written to raw. It's undefined in case of failure. |
raw_size is too small or if bits is larger than the largest supported curve. der is inconsistent with bits. MBEDTLS_ERR_ASN1_xxx error code if der is malformed. | 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.
| bits | Size of each coordinate in bits. | |
| raw | Buffer that contains the signature in raw format. | |
| raw_len | Length of raw in bytes. This must be PSA_BITS_TO_BYTES(bits) bytes. | |
| [out] | der | Buffer that will be filled with the converted DER output. It can overlap with raw buffer. |
| der_size | Size 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_DER_MAX_SIG_LEN(bits) to determine a size that is large enough for all signatures for a given value of bits. | |
| [out] | der_len | On success it contains the amount of valid data (in bytes) written to der. It's undefined in case of failure. |
der is null, even if der_size is 0.der_size is too small or if bits is larger than the largest supported curve.
|
inlinestatic |
This function returns the PSA algorithm identifier associated with the given digest type.
| md_type | The type of digest to search for. Must not be NONE. |
md_type is MBEDTLS_MD_NONE, this function will not return PSA_ALG_NONE, but an invalid algorithm.md_type, regardless of whether it is supported or not. Definition at line 87 of file psa_util.h.
References PSA_ALG_CATEGORY_HASH.
|
inlinestatic |
This function returns the given digest type associated with the PSA algorithm identifier.
| psa_alg | The PSA algorithm identifier to search for. |
psa_alg, regardless of whether it is supported or not. Definition at line 104 of file psa_util.h.
References PSA_ALG_HASH_MASK.
1.8.6