36 #if !defined(POLARSSL_CONFIG_FILE)
39 #include POLARSSL_CONFIG_FILE
42 #if defined(POLARSSL_X509_CSR_PARSE_C)
46 #if defined(POLARSSL_PEM_PARSE_C)
50 #if defined(POLARSSL_PLATFORM_C)
53 #define polarssl_malloc malloc
54 #define polarssl_free free
60 #if defined(POLARSSL_FS_IO) || defined(EFIX64) || defined(EFI32)
65 static void polarssl_zeroize(
void *v,
size_t n ) {
66 volatile unsigned char *p = v;
while( n-- ) *p++ = 0;
72 static int x509_csr_get_version(
unsigned char **p,
73 const unsigned char *end,
96 const unsigned char *buf,
size_t buflen )
100 unsigned char *p, *end;
103 memset( &sig_params, 0,
sizeof(
x509_buf ) );
108 if( csr == NULL || buf == NULL )
121 memcpy( p, buf, buflen );
141 if( len != (
size_t) ( end - p ) )
166 if( ( ret = x509_csr_get_version( &p, end, &csr->
version ) ) != 0 )
264 #if defined(POLARSSL_PEM_PARSE_C)
272 if( csr == NULL || buf == NULL )
275 #if defined(POLARSSL_PEM_PARSE_C)
277 ret = pem_read_buffer( &pem,
278 "-----BEGIN CERTIFICATE REQUEST-----",
279 "-----END CERTIFICATE REQUEST-----",
280 buf, NULL, 0, &use_len );
303 #if defined(POLARSSL_FS_IO)
318 polarssl_zeroize( buf, n + 1 );
325 #if defined(_MSC_VER) && !defined snprintf && !defined(EFIX64) && \
329 #if !defined vsnprintf
330 #define vsnprintf _vsnprintf
340 static int compat_snprintf(
char *str,
size_t size,
const char *format, ... )
345 va_start( ap, format );
347 res = vsnprintf( str, size, format, ap );
353 return( (
int) size + 20 );
358 #define snprintf compat_snprintf
361 #define POLARSSL_ERR_DEBUG_BUF_TOO_SMALL -2
363 #define SAFE_SNPRINTF() \
368 if( (unsigned int) ret > n ) { \
370 return( POLARSSL_ERR_DEBUG_BUF_TOO_SMALL ); \
373 n -= (unsigned int) ret; \
374 p += (unsigned int) ret; \
377 #define BEFORE_COLON 14
382 int x509_csr_info(
char *buf,
size_t size,
const char *prefix,
388 char key_size_str[BEFORE_COLON];
393 ret = snprintf( p, n,
"%sCSR version : %d",
397 ret = snprintf( p, n,
"\n%ssubject name : ", prefix );
402 ret = snprintf( p, n,
"\n%ssigned using : ", prefix );
415 ret = snprintf( p, n,
"\n%s%-" BC
"s: %d bits\n", prefix, key_size_str,
419 return( (
int) ( size - n ) );
443 #if defined(POLARSSL_X509_RSASSA_PSS_SUPPORT)
448 while( name_cur != NULL )
451 name_cur = name_cur->
next;
452 polarssl_zeroize( name_prv,
sizeof(
x509_name ) );
456 if( csr->
raw.
p != NULL )
462 polarssl_zeroize( csr,
sizeof(
x509_csr ) );