39 #if defined(POLARSSL_X509_CSR_PARSE_C)
43 #if defined(POLARSSL_PEM_PARSE_C)
47 #if defined(POLARSSL_MEMORY_C)
50 #define polarssl_malloc malloc
51 #define polarssl_free free
57 #if defined(POLARSSL_FS_IO)
64 static int x509_csr_get_version(
unsigned char **p,
65 const unsigned char *end,
91 unsigned char *p, *end;
92 #if defined(POLARSSL_PEM_PARSE_C)
100 if( csr == NULL || buf == NULL )
105 #if defined(POLARSSL_PEM_PARSE_C)
107 ret = pem_read_buffer( &pem,
108 "-----BEGIN CERTIFICATE REQUEST-----",
109 "-----END CERTIFICATE REQUEST-----",
110 buf, NULL, 0, &use_len );
144 memcpy( p, buf, buflen );
167 if( len != (
size_t) ( end - p ) )
192 if( ( ret = x509_csr_get_version( &p, end, &csr->
version ) ) != 0 )
283 #if defined(POLARSSL_FS_IO)
298 memset( buf, 0, n + 1 );
305 #if defined _MSC_VER && !defined snprintf
308 #if !defined vsnprintf
309 #define vsnprintf _vsnprintf
319 static int compat_snprintf(
char *str,
size_t size,
const char *format, ...)
324 va_start( ap, format );
326 res = vsnprintf( str, size, format, ap );
332 return( (
int) size + 20 );
337 #define snprintf compat_snprintf
340 #define POLARSSL_ERR_DEBUG_BUF_TOO_SMALL -2
342 #define SAFE_SNPRINTF() \
347 if ( (unsigned int) ret > n ) { \
349 return POLARSSL_ERR_DEBUG_BUF_TOO_SMALL;\
352 n -= (unsigned int) ret; \
353 p += (unsigned int) ret; \
356 #define BEFORE_COLON 14
361 int x509_csr_info(
char *buf,
size_t size,
const char *prefix,
368 char key_size_str[BEFORE_COLON];
373 ret = snprintf( p, n,
"%sCSR version : %d",
377 ret = snprintf( p, n,
"\n%ssubject name : ", prefix );
382 ret = snprintf( p, n,
"\n%ssigned using : ", prefix );
387 ret = snprintf( p, n,
"???" );
389 ret = snprintf( p, n,
"%s", desc );
398 ret = snprintf( p, n,
"\n%s%-" BC
"s: %d bits\n", prefix, key_size_str,
402 return( (
int) ( size - n ) );
427 while( name_cur != NULL )
430 name_cur = name_cur->
next;
431 memset( name_prv, 0,
sizeof(
x509_name ) );
435 if( csr->
raw.
p != NULL )
441 memset( csr, 0,
sizeof(
x509_csr ) );