asn1_write_value
NAMESYNOPSIS
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
