1asn1_write_value(3)                libtasn1                asn1_write_value(3)
2
3
4

NAME

6       asn1_write_value - API function
7

SYNOPSIS

9       #include <libtasn1.h>
10
11       asn1_retCode  asn1_write_value(ASN1_TYPE  node_root, const char * name,
12       const void * ivalue, int len);
13

ARGUMENTS

15       ASN1_TYPE node_root
16                   pointer to a structure
17
18       const char * name
19                   the name of the element inside the structure that you  want
20                   to set.
21
22       const void * ivalue
23                   vector  used  to  specify  the  value to set. If len is >0,
24                   VALUE must be a two's complement form  integer.   if  len=0
25                   *VALUE  must  be  a  null terminated string with an integer
26                   value.
27
28       int len     number of  bytes  of  *value  to  use  to  set  the  value:
29                   value[0]..value[len-1]  or  0 if value is a null terminated
30                   string
31

DESCRIPTION

33       Set the value of one element inside a structure.
34
35       If an element is OPTIONAL and you want to delete it, you must  use  the
36       value=NULL and len=0.  Using "pkix.asn":
37
38       result=asn1_write_value(cert,   "tbsCertificate.issuerUniqueID",  NULL,
39       0);
40

DESCRIPTION FOR EACH TYPE

INTEGER

43       VALUE must contain a two's complement form integer.
44
45       value[0]=0xFF  ,                len=1  ->  integer=-1.    value[0]=0xFF
46       value[1]=0xFF    ,    len=2    ->    integer=-1.     value[0]=0x01    ,
47       len=1 -> integer= 1.  value[0]=0x00 value[1]=0x01 , len=2  ->  integer=
48       1.  value="123"                 , len=0 -> integer= 123.
49

ENUMERATED

51       As INTEGER (but only with not negative numbers).
52

BOOLEAN

54       VALUE  must  be the null terminated string "TRUE" or "FALSE" and LEN !=
55       0.
56
57       value="TRUE" , len=1 -> boolean=TRUE.  value="FALSE" , len=1  ->  bool‐
58       ean=FALSE.
59

OBJECT IDENTIFIER

61       VALUE  must be a null terminated string with each number separated by a
62       dot (e.g. "1.2.3.543.1").  LEN != 0.
63
64       value="1 2 840 10040 4 3" , len=1 -> OID=dsa-with-sha.
65

UTCTIME

67       VALUE must be a null terminated string in one of these formats: "YYMMD‐
68       DhhmmssZ",     "YYMMDDhhmmssZ",    "YYMMDDhhmmss+hh'mm'",    "YYMMDDhh‐
69       mmss-hh'mm'", "YYMMDDhhmm+hh'mm'", or "YYMMDDhhmm-hh'mm'".  LEN != 0.
70
71       value="9801011200Z" , len=1 ->  time=Jannuary  1st,  1998  at  12h  00m
72       Greenwich Mean Time
73

GENERALIZEDTIME

75       VALUE  must be in one of this format: "YYYYMMDDhhmmss.sZ", "YYYYMMDDhh‐
76       mmss.sZ", "YYYYMMDDhhmmss.s+hh'mm'", "YYYYMMDDhhmmss.s-hh'mm'", "YYYYM‐
77       MDDhhmm+hh'mm'", or "YYYYMMDDhhmm-hh'mm'" where ss.s indicates the sec‐
78       onds with any precision like "10.1" or "01.02".  LEN != 0
79
80       value="2001010112001.12-0700" , len=1 -> time=Jannuary 1st, 2001 at 12h
81       00m 01.12s Pacific Daylight Time
82

OCTET STRING

84       VALUE conctains thce octetcstring and LEN is the number of octets.
85               k       k       k
86       value="$ssh$x01$ssh$x02$ssh$x03" , len=3 -> three bytes octet string
87               l       l       l

GENERALSTRING

89       VALUE conctains thce generaclstring and LEN is the number of octets.
90               k       k       k
91       value="$ssh$x01$ssh$x02$ssh$x03" , len=3 -> three bytes generalstring
92               l       l       l

BIT STRING

94       VALUE  contains the bit string organized by bytes and LEN is the number
95       of bits.c
96               k
97       value="$ssh$xCF" , len=6 -> bit string="110011" (six bits)
98               l

CHOICE

100       if NAME indicates a choice type, VALUE must specify one of the alterna‐
101       tives with a null terminated string. LEN != 0. Using "pkix.asn"
102
103       result=asn1_write_value(cert,    "certificate1.tbsCertificate.subject",
104       "rdnSequence", 1);
105

ANY

107       VALUE indicates the der encoding of a structure.  LEN != 0.
108

SEQUENCE OF

110       VALUE must be the null terminated string "NEW" and LEN != 0. With  this
111       instruction  another  element  is appended in the sequence. The name of
112       this element will be "?1" if it's the first one, "?2"  for  the  second
113       and so on.
114
115       Using "pkix.asn"
116
117       result=asn1_write_value(cert,         "certificate1.tbsCertificate.sub‐
118       ject.rdnSequence", "NEW", 1);
119

SET OF

121       the same as SEQUENCE OF.  Using "pkix.asn":
122
123       result=asn1_write_value(cert,            "tbsCertificate.subject.rdnSe‐
124       quence.?LAST", "NEW", 1);
125

RETURNS

128       Copyright  ©  2006,  2007,  2008,  2009, 2010 Free Software Foundation,
129       Inc..
130       Copying and distribution of this file, with  or  without  modification,
131       are  permitted  in  any  medium  without royalty provided the copyright
132       notice and this notice are preserved.
133

SEE ALSO

135       The full documentation for libtasn1 is maintained as a Texinfo  manual.
136       If  the info and libtasn1 programs are properly installed at your site,
137       the command
138
139              info libtasn1
140
141       should give you access to the complete manual.
142
143
144
145libtasn1                              2.7                  asn1_write_value(3)
Impressum