11#ifndef MBEDTLS_PK_WRITE_H
12#define MBEDTLS_PK_WRITE_H
18#if defined(MBEDTLS_USE_PSA_CRYPTO)
26#if defined(MBEDTLS_RSA_C)
39#define MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES (38 + 2 * MBEDTLS_MPI_MAX_SIZE)
56#define MBEDTLS_MPI_MAX_SIZE_2 (MBEDTLS_MPI_MAX_SIZE / 2 + \
57 MBEDTLS_MPI_MAX_SIZE % 2)
58#define MBEDTLS_PK_RSA_PRV_DER_MAX_BYTES (47 + 3 * MBEDTLS_MPI_MAX_SIZE \
59 + 5 * MBEDTLS_MPI_MAX_SIZE_2)
63#define MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES 0
64#define MBEDTLS_PK_RSA_PRV_DER_MAX_BYTES 0
68#if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
73#if defined(MBEDTLS_USE_PSA_CRYPTO)
74#define MBEDTLS_PK_MAX_ECC_BYTES (PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS) > \
75 MBEDTLS_ECP_MAX_BYTES ? \
76 PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS) : \
77 MBEDTLS_ECP_MAX_BYTES)
79#define MBEDTLS_PK_MAX_ECC_BYTES MBEDTLS_ECP_MAX_BYTES
93#define MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES (30 + 2 * MBEDTLS_PK_MAX_ECC_BYTES)
104#define MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES (29 + 3 * MBEDTLS_PK_MAX_ECC_BYTES)
108#define MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES 0
109#define MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES 0
115#if (MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES > MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES)
116#define MBEDTLS_PK_WRITE_PUBKEY_MAX_SIZE MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES
118#define MBEDTLS_PK_WRITE_PUBKEY_MAX_SIZE MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES
Platform Security Architecture cryptography module.
Build-time configuration info.
Public Key abstraction layer.