28 #if defined(POLARSSL_ASN1_WRITE_C)
32 int asn1_write_len(
unsigned char **p,
unsigned char *start,
size_t len )
59 *--(*p) = ( len / 256 ) % 256;
65 int asn1_write_tag(
unsigned char **p,
unsigned char *start,
unsigned char tag )
84 if( *p - start < (
int) len )
93 if ( X->
s ==1 && **p & 0x80 )
124 int asn1_write_oid(
unsigned char **p,
unsigned char *start,
char *oid )
133 if( *p - start < (
int) len )
137 memcpy( *p, oid, len );
146 char *algorithm_oid )
161 len = oid_len + null_len;
169 int asn1_write_int(
unsigned char **p,
unsigned char *start,
int val )
184 if ( val > 0 && **p & 0x80 )
207 len = strlen( text );
209 if( *p - start < (
int) len )
213 memcpy( *p, text, len );
229 len = strlen( text );
231 if( *p - start < (
int) len )
235 memcpy( *p, text, len );
#define ASN1_PRINTABLE_STRING
#define POLARSSL_ERR_ASN1_BUF_TOO_SMALL
Buffer too small when writing ASN.1 data structure.
Configuration options (set of defines)
int asn1_write_len(unsigned char **p, unsigned char *start, size_t len)
int asn1_write_algorithm_identifier(unsigned char **p, unsigned char *start, char *algorithm_oid)
int asn1_write_null(unsigned char **p, unsigned char *start)
int asn1_write_mpi(unsigned char **p, unsigned char *start, mpi *X)
int asn1_write_int(unsigned char **p, unsigned char *start, int val)
#define ASN1_CHK_ADD(g, f)
int asn1_write_printable_string(unsigned char **p, unsigned char *start, char *text)
size_t mpi_size(const mpi *X)
Return the total size in bytes.
int asn1_write_oid(unsigned char **p, unsigned char *start, char *oid)
int mpi_write_binary(const mpi *X, unsigned char *buf, size_t buflen)
Export X into unsigned binary data, big endian.
ASN.1 buffer writing functionality.
int asn1_write_ia5_string(unsigned char **p, unsigned char *start, char *text)
int asn1_write_tag(unsigned char **p, unsigned char *start, unsigned char tag)