28 #if defined(POLARSSL_X509_CREATE_C)
37 char *s = name, *c = s;
38 char *end = s + strlen( s );
39 const char *oid = NULL;
48 if( in_tag && *c ==
'=' )
50 if( memcmp( s,
"CN", 2 ) == 0 && c - s == 2 )
52 else if( memcmp( s,
"C", 1 ) == 0 && c - s == 1 )
54 else if( memcmp( s,
"O", 1 ) == 0 && c - s == 1 )
56 else if( memcmp( s,
"L", 1 ) == 0 && c - s == 1 )
58 else if( memcmp( s,
"R", 1 ) == 0 && c - s == 1 )
60 else if( memcmp( s,
"OU", 2 ) == 0 && c - s == 2 )
62 else if( memcmp( s,
"ST", 2 ) == 0 && c - s == 2 )
74 if( !in_tag && ( *c ==
',' || c == end ) )
83 while( c < end && *(c + 1) ==
' ' )
101 int critical,
const unsigned char *val,
size_t val_len )
106 NULL, val_len + 1 ) ) == NULL )
111 cur->
val.
p[0] = critical;
112 memcpy( cur->
val.
p + 1, val, val_len );
129 static int x509_write_name(
unsigned char **p,
unsigned char *start,
130 const char *oid,
size_t oid_len,
131 const unsigned char *name,
size_t name_len )
187 const char *oid,
size_t oid_len,
188 unsigned char *sig,
size_t size )
193 if( *p - start < (
int) size + 1 )
198 memcpy( *p, sig, len );
214 static int x509_write_extension(
unsigned char **p,
unsigned char *start,
225 if( ext->
val.
p[0] != 0 )
258 while( cur_ext != NULL )
260 ASN1_CHK_ADD( len, x509_write_extension( p, start, cur_ext ) );
261 cur_ext = cur_ext->
next;