28 #if defined(POLARSSL_ASN1_PARSE_C)
32 #if defined(POLARSSL_BIGNUM_C)
36 #if defined(POLARSSL_MEMORY_C)
39 #define polarssl_malloc malloc
40 #define polarssl_free free
50 const unsigned char *end,
53 if( ( end - *p ) < 1 )
56 if( ( **p & 0x80 ) == 0 )
63 if( ( end - *p ) < 2 )
71 if( ( end - *p ) < 3 )
74 *len = ( (*p)[1] << 8 ) | (*p)[2];
79 if( ( end - *p ) < 4 )
82 *len = ( (*p)[1] << 16 ) | ( (*p)[2] << 8 ) | (*p)[3];
87 if( ( end - *p ) < 5 )
90 *len = ( (*p)[1] << 24 ) | ( (*p)[2] << 16 ) | ( (*p)[3] << 8 ) | (*p)[4];
99 if( *len > (
size_t) ( end - *p ) )
106 const unsigned char *end,
107 size_t *len,
int tag )
109 if( ( end - *p ) < 1 )
121 const unsigned char *end,
133 *val = ( **p != 0 ) ? 1 : 0;
140 const unsigned char *end,
149 if( len >
sizeof(
int ) || ( **p & 0x80 ) != 0 )
156 *val = ( *val << 8 ) | **p;
163 #if defined(POLARSSL_BIGNUM_C)
165 const unsigned char *end,
223 if( (*len)-- < 2 || *(*p)++ != 0 )
235 const unsigned char *end,
248 if( *p + len != end )
268 if( cur->
next == NULL )
285 const unsigned char *end,
295 if( ( end - *p ) < 1 )
309 memset( params, 0,
sizeof(
asn1_buf) );
329 const unsigned char *end,
335 memset( ¶ms, 0,
sizeof(
asn1_buf) );
337 if( ( ret =
asn1_get_alg( p, end, alg, ¶ms ) ) != 0 )
361 while( ( cur = *head ) != NULL )
370 const char *
oid,
size_t len )
372 while( list != NULL )
374 if( list->
oid.
len == len &&
375 memcmp( list->
oid.
p, oid, len ) == 0 )