asn1_write_value



asn1_write_value

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
INTEGER
ENUMERATED
BOOLEAN
UTCTIME
GENERALIZEDTIME
GENERALSTRING
CHOICE
ANY
RETURNS
COPYRIGHT
SEE ALSO

NAME

asn1_write_value − API function

SYNOPSIS

#include <libtasn1.h>

int asn1_write_value(asn1_node node_root, const char * name, const void * ivalue, int len);

ARGUMENTS

asn1_node node_root

pointer to a structure

const char * name

the name of the element inside the structure that you want to set.

const void * ivalue

vector used to specify the value to set. If len is >0, VALUE must be a two’s complement form integer. if len=0 *VALUE must be a null terminated string with an integer value.

int len

number of bytes of *value to use to set the value: value[0]..value[len−1] or 0 if value is a null terminated string

DESCRIPTION

Set the value of one element inside a structure.

If an element is OPTIONAL and you want to delete it, you must use the value=NULL and len=0. Using "pkix.asn":

result=asn1_write_value(cert, "tbsCertificate.issuerUniqueID", NULL, 0);

Description for each type:

INTEGER

VALUE must contain a two’s complement form integer.

value[0]=0xFF , len=1 −> integer=−1. value[0]=0xFF value[1]=0xFF , len=2 −> integer=−1. value[0]=0x01 , len=1 −> integer= 1. value[0]=0x00 value[1]=0x01 , len=2 −> integer= 1. value="123" , len=0 −> integer= 123.

ENUMERATED

As INTEGER (but only with not negative numbers).

BOOLEAN

VALUE must be the null terminated string "TRUE" or "FALSE" and LEN != 0.

value="TRUE" , len=1 −> boolean=TRUE. value="FALSE" , len=1 −> boolean=FALSE.

OBJECT IDENTIFIER: VALUE must be a null terminated string with each number separated by a dot (e.g. "1.2.3.543.1"). LEN != 0.

value="1 2 840 10040 4 3" , len=1 −> OID=dsa−with−sha.

UTCTIME

VALUE must be a null terminated string in one of these formats: "YYMMDDhhmmssZ", "YYMMDDhhmmssZ", "YYMMDDhhmmss+hh’mm’", "YYMMDDhhmmss−hh’mm’", "YYMMDDhhmm+hh’mm’", or "YYMMDDhhmm−hh’mm’". LEN != 0.

value="9801011200Z" , len=1 −> time=Jannuary 1st, 1998 at 12h 00m Greenwich Mean Time

GENERALIZEDTIME

VALUE must be in one of this format: "YYYYMMDDhhmmss.sZ", "YYYYMMDDhhmmss.sZ", "YYYYMMDDhhmmss.s+hh’mm’", "YYYYMMDDhhmmss.s−hh’mm’", "YYYYMMDDhhmm+hh’mm’", or "YYYYMMDDhhmm−hh’mm’" where ss.s indicates the seconds with any precision like "10.1" or "01.02". LEN != 0

value="2001010112001.12−0700" , len=1 −> time=Jannuary 1st, 2001 at 12h 00m 01.12s Pacific Daylight Time

OCTET STRING: VALUE contains the octet string and LEN is the number of octets. c c c k k k

value="$ssh$x01$ssh$x02$ssh$x03" , len=3 −> three bytes octet string l l l

GENERALSTRING

VALUE contains the generalstring and LEN is the number of octets.c c c k k k

value="$ssh$x01$ssh$x02$ssh$x03" , len=3 −> three bytes generalstring l l l

BIT STRING: VALUE contains the bit string organized by bytes and LEN is the number of bits.c k

value="$ssh$xCF" , len=6 −> bit string="110011" (six bits) l

CHOICE

if NAME indicates a choice type, VALUE must specify one of the alternatives with a null terminated string. LEN != 0. Using "pkix.asn"

result=asn1_write_value(cert, "certificate1.tbsCertificate.subject", "rdnSequence", 1);

ANY

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

SEQUENCE OF: VALUE must be the null terminated string "NEW" and LEN != 0. With this instruction another element is appended in the sequence. The name of this element will be "?1" if it’s the first one, "?2" for the second and so on.

Using "pkix.asn"

result=asn1_write_value(cert, "certificate1.tbsCertificate.subject.rdnSequence", "NEW", 1);

SET OF: the same as SEQUENCE OF. Using "pkix.asn":

result=asn1_write_value(cert, "tbsCertificate.subject.rdnSequence.?LAST", "NEW", 1);

RETURNS

ASN1_SUCCESS if the value was set, ASN1_ELEMENT_NOT_FOUND if name is not a valid element, and ASN1_VALUE_NOT_VALID if ivalue has a wrong format.

COPYRIGHT

Copyright © 2006-2013 Free Software Foundation, Inc..
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

SEE ALSO

The full documentation for libtasn1 is maintained as a Texinfo manual. If the info and libtasn1 programs are properly installed at your site, the command

info libtasn1

should give you access to the complete manual. As an alternative you may obtain the manual from:

http://www.gnu.org/software/libtasn1/manual/




More Linux Commands

manpages/ctime_r.3.html
ctime_r(3) - transform date and time to broken-down time or
The ctime(), gmtime() and localtime() functions all take an argument of data type time_t, which represents calendar time. When interpreted as an absolute time v

manpages/pcap-filter.7.html
pcap-filter(7) - packet filter syntax - Linux manual page...
pcap_compile() is used to compile a string into a filter program. The resulting filter program can then be applied to some stream of packets to determine which

manpages/audit_add_watch.3.html
audit_add_watch(3) - create a rule layout for a watch.......
audit_add_watch will create a watch rule in the pointer to a pointer rulep. All that you need to pass it is the full path to a file and it will initialize the a

manpages/setsockopt.2.html
setsockopt(2) - get and set options on sockets (Man Page)...
getsockopt() and setsockopt() manipulate options for the socket referred to by the file descriptor sockfd. Options may exist at multiple protocol levels; they a

manpages/pam_error.3.html
pam_error(3) - display error messages to the user (ManPage)
The pam_error function prints error messages through the conversation function to the user. The pam_verror function performs the same task as pam_error() with t

manpages/cd.1.html
cd(1) bash built-in commands, see bash(1) - Linux man page
Unless otherwise noted, each builtin command documented in this section as accepting options preceded by accepts to signify the end of the options. The tru

manpages/ppm2tiff.1.html
ppm2tiff(1) create a TIFF file from PPM, PGM and PBM image f
ppm2tiff converts a file in the PPM, PGM and PBM image formats to TIFF. By default, the TIFF image is created with data samples packed (PlanarConfiguration=1),

manpages/Tcl_UpVar.3.html
Tcl_UpVar(3) - link one variable to another - Linux man page
Tcl_UpVar and Tcl_UpVar2 provide the same functionality as the upvar command: they make a link from a source variable to a destination variable, so that referen

manpages/gnutls_x509_crq_get_key_id.3.html
gnutls_x509_crq_get_key_id(3) - API function (Man Page).....
gnutls_x509_crq_get_key_id.3 - This function will return a unique ID the depends on the public key parameters. This ID can be used in checking whether a certifi

manpages/utmp.5.html
utmp(5) - login records (File formats - Linux man page).....
The utmp file allows one to discover information about who is currently using the system. There may be more users currently using the system, because not all pr

manpages/glScissor.3gl.html
glScissor(3gl) - define the scissor box - Linux manual page
glScissor defines a rectangle, called the scissor box, in window coordinates. The first two arguments, x and y, specify the lower left corner of the box. width

manpages/tcltest.n.html
tcltest(n) - Test harness support code and utilities........
The tcltest package provides several utility commands useful in the construction of test suites for code instrumented to be run by evaluation of Tcl commands. N





We can't live, work or learn in freedom unless the software we use is free.