diff --git a/src/ssl.c b/src/ssl.c index 7f4dd9339..5da96e84d 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -37743,12 +37743,18 @@ static int CopyX509NameToCertName(WOLFSSL_X509_NAME* n, CertName* cName) return ret; } + + #ifndef WC_MAX_X509_GEN + /* able to override max size until dynamic buffer created */ + #define WC_MAX_X509_GEN 4096 + #endif + /* returns the size of signature on success */ int wolfSSL_X509_sign(WOLFSSL_X509* x509, WOLFSSL_EVP_PKEY* pkey, const WOLFSSL_EVP_MD* md) { int ret; - byte der[4096]; /* @TODO dynamic set based on expected cert size */ + byte der[WC_MAX_X509_GEN]; /* @TODO dynamic based on expected cert size */ int derSz = sizeof(der); WOLFSSL_ENTER("wolfSSL_X509_sign"); diff --git a/wolfssl/wolfcrypt/asn.h b/wolfssl/wolfcrypt/asn.h index e37de4ab5..6ca38a589 100644 --- a/wolfssl/wolfcrypt/asn.h +++ b/wolfssl/wolfcrypt/asn.h @@ -366,7 +366,6 @@ enum Misc_ASN { MAX_CERTPOL_SZ = CTC_MAX_CERTPOL_SZ, #endif MAX_AIA_SZ = 2, /* Max Authority Info Access extension size*/ - MAX_NAME_ENTRIES = 13, /* entries added to x509 name struct */ OCSP_NONCE_EXT_SZ = 35, /* OCSP Nonce Extension size */ MAX_OCSP_EXT_SZ = 58, /* Max OCSP Extension length */ MAX_OCSP_NONCE_SZ = 16, /* OCSP Nonce size */ @@ -395,6 +394,12 @@ enum Misc_ASN { PEM_LINE_LEN = PEM_LINE_SZ + 12, /* PEM line max + fudge */ }; +#ifndef WC_MAX_NAME_ENTRIES + /* entries added to x509 name struct */ + #define WC_MAX_NAME_ENTRIES 13 +#endif +#define MAX_NAME_ENTRIES WC_MAX_NAME_ENTRIES + enum Oid_Types { oidHashType = 0,