pkwrite: add new internal symbol to properly size DER buffer
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
parent
97b28f81d8
commit
a7c9e09dd0
1 changed files with 19 additions and 2 deletions
|
@ -27,6 +27,10 @@
|
||||||
|
|
||||||
#include "mbedtls/pk.h"
|
#include "mbedtls/pk.h"
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_USE_PSA_CRYPTO)
|
||||||
|
#include "psa/crypto.h"
|
||||||
|
#endif /* MBEDTLS_USE_PSA_CRYPTO */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Max sizes of key per types. Shown as tag + len (+ content).
|
* Max sizes of key per types. Shown as tag + len (+ content).
|
||||||
*/
|
*/
|
||||||
|
@ -74,6 +78,19 @@
|
||||||
#endif /* MBEDTLS_RSA_C */
|
#endif /* MBEDTLS_RSA_C */
|
||||||
|
|
||||||
#if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
|
#if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
|
||||||
|
|
||||||
|
/* Find the maximum number of bytes necessary to store an EC point. When USE_PSA
|
||||||
|
* is defined this means looking for the maximum between PSA and built-in
|
||||||
|
* supported curves. */
|
||||||
|
#if defined(MBEDTLS_USE_PSA_CRYPTO)
|
||||||
|
#define MBEDTLS_PK_MAX_ECC_BYTES (PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS) > \
|
||||||
|
MBEDTLS_ECP_MAX_BYTES ? \
|
||||||
|
PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS) : \
|
||||||
|
MBEDTLS_ECP_MAX_BYTES)
|
||||||
|
#else /* MBEDTLS_USE_PSA_CRYPTO */
|
||||||
|
#define MBEDTLS_PK_MAX_ECC_BYTES MBEDTLS_ECP_MAX_BYTES
|
||||||
|
#endif /* MBEDTLS_USE_PSA_CRYPTO */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* EC public keys:
|
* EC public keys:
|
||||||
* SubjectPublicKeyInfo ::= SEQUENCE { 1 + 2
|
* SubjectPublicKeyInfo ::= SEQUENCE { 1 + 2
|
||||||
|
@ -85,7 +102,7 @@
|
||||||
* + 2 * ECP_MAX (coords) [1]
|
* + 2 * ECP_MAX (coords) [1]
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
#define MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES (30 + 2 * 66)
|
#define MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES (30 + 2 * MBEDTLS_PK_MAX_ECC_BYTES)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* EC private keys:
|
* EC private keys:
|
||||||
|
@ -96,7 +113,7 @@
|
||||||
* publicKey [1] BIT STRING OPTIONAL 1 + 2 + [1] above
|
* publicKey [1] BIT STRING OPTIONAL 1 + 2 + [1] above
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
#define MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES (29 + 3 * 66)
|
#define MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES (29 + 3 * MBEDTLS_PK_MAX_ECC_BYTES)
|
||||||
|
|
||||||
#else /* MBEDTLS_PK_HAVE_ECC_KEYS */
|
#else /* MBEDTLS_PK_HAVE_ECC_KEYS */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue