diff options
author | sangsu <sangsu.choi@samsung.com> | 2016-06-08 10:17:41 +0900 |
---|---|---|
committer | sangsu <sangsu.choi@samsung.com> | 2016-06-08 10:18:15 +0900 |
commit | a39386a3afe2d7e0cc717a49f970f53d974fda53 (patch) | |
tree | d6deb781410d96006a58fcfcaa8f31ffcc139523 /doc/man | |
parent | d2521ee04e00e1c060001d5d67c1cf0bd23ec260 (diff) | |
download | libtasn1-a39386a3afe2d7e0cc717a49f970f53d974fda53.tar.gz libtasn1-a39386a3afe2d7e0cc717a49f970f53d974fda53.tar.bz2 libtasn1-a39386a3afe2d7e0cc717a49f970f53d974fda53.zip |
Imported Upstream version 4.8upstream/4.8submit/upstream/20160613.071414
Change-Id: I25e57ece28b9ebb637a2b7356f57e11b7f2eb807
Signed-off-by: sangsu <sangsu.choi@samsung.com>
Diffstat (limited to 'doc/man')
40 files changed, 2062 insertions, 0 deletions
diff --git a/doc/man/asn1_array2tree.3 b/doc/man/asn1_array2tree.3 new file mode 100644 index 0000000..90120e0 --- /dev/null +++ b/doc/man/asn1_array2tree.3 @@ -0,0 +1,47 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_array2tree" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_array2tree \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_array2tree(const asn1_static_node * " array ", asn1_node * " definitions ", char * " errorDescription ");" +.SH ARGUMENTS +.IP "const asn1_static_node * array" 12 +specify the array that contains ASN.1 declarations +.IP "asn1_node * definitions" 12 +return the pointer to the structure created by +*ARRAY ASN.1 declarations +.IP "char * errorDescription" 12 +return the error description. +.SH "DESCRIPTION" +Creates the structures needed to manage the ASN.1 definitions. + \fIarray\fP is a vector created by \fBasn1_parser2array()\fP. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if structure was created correctly, +\fBASN1_ELEMENT_NOT_EMPTY\fP if * \fIdefinitions\fP not NULL, +\fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is an identifier +that is not defined (see \fIerrorDescription\fP for more information), +\fBASN1_ARRAY_ERROR\fP if the array pointed by \fIarray\fP is wrong. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_bit_der.3 b/doc/man/asn1_bit_der.3 new file mode 100644 index 0000000..9f1553f --- /dev/null +++ b/doc/man/asn1_bit_der.3 @@ -0,0 +1,51 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_bit_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_bit_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "void asn1_bit_der(const unsigned char * " str ", int " bit_len ", unsigned char * " der ", int * " der_len ");" +.SH ARGUMENTS +.IP "const unsigned char * str" 12 +BIT string. +.IP "int bit_len" 12 +number of meaningful bits in STR. +.IP "unsigned char * der" 12 +string returned. +.IP "int * der_len" 12 +number of meaningful bytes of DER +(der[0]..der[ans_len\-1]). +.SH "DESCRIPTION" +Creates a length\-value DER encoding for the input data +as it would have been for a BIT STRING. +The DER encoded data will be copied in \fIder\fP . + +Note that the BIT STRING tag is not included in the output. + +This function does not return any value because it is expected +that \fIder_len\fP will contain enough bytes to store the string +plus the DER encoding. The DER encoding size can be obtained using +\fBasn1_length_der()\fP. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_check_version.3 b/doc/man/asn1_check_version.3 new file mode 100644 index 0000000..4d567af --- /dev/null +++ b/doc/man/asn1_check_version.3 @@ -0,0 +1,43 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_check_version" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_check_version \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "const char * asn1_check_version(const char * " req_version ");" +.SH ARGUMENTS +.IP "const char * req_version" 12 +Required version number, or \fBNULL\fP. +.SH "DESCRIPTION" +Check that the version of the library is at minimum the +requested one and return the version string; return \fBNULL\fP if the +condition is not satisfied. If a \fBNULL\fP is passed to this function, +no check is done, but the version string is simply returned. + +See \fBASN1_VERSION\fP for a suitable \fIreq_version\fP string. +.SH "RETURNS" +Version string of run\-time library, or \fBNULL\fP if the +run\-time library does not meet the required version number. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_copy_node.3 b/doc/man/asn1_copy_node.3 new file mode 100644 index 0000000..45dbb94 --- /dev/null +++ b/doc/man/asn1_copy_node.3 @@ -0,0 +1,44 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_copy_node" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_copy_node \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_copy_node(asn1_node " dst ", const char * " dst_name ", asn1_node " src ", const char * " src_name ");" +.SH ARGUMENTS +.IP "asn1_node dst" 12 +Destination asn1 node. +.IP "const char * dst_name" 12 +Field name in destination node. +.IP "asn1_node src" 12 +Source asn1 node. +.IP "const char * src_name" 12 +Field name in source node. +.SH "DESCRIPTION" +Create a deep copy of a asn1_node variable. That +function requires \fIdst\fP to be expanded using \fBasn1_create_element()\fP. +.SH "RETURNS" +Return \fBASN1_SUCCESS\fP on success. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_create_element.3 b/doc/man/asn1_create_element.3 new file mode 100644 index 0000000..31ec7d6 --- /dev/null +++ b/doc/man/asn1_create_element.3 @@ -0,0 +1,46 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_create_element" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_create_element \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_create_element(asn1_node " definitions ", const char * " source_name ", asn1_node * " element ");" +.SH ARGUMENTS +.IP "asn1_node definitions" 12 +pointer to the structure returned by "parser_asn1" function +.IP "const char * source_name" 12 +the name of the type of the new structure (must be +inside p_structure). +.IP "asn1_node * element" 12 +pointer to the structure created. +.SH "DESCRIPTION" +Creates a structure of type \fIsource_name\fP . Example using +"pkix.asn": + +rc = asn1_create_element(cert_def, "PKIX1.Certificate", certptr); +.SH "RETURNS" +\fBASN1_SUCCESS\fP if creation OK, \fBASN1_ELEMENT_NOT_FOUND\fP if + \fIsource_name\fP is not known. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_decode_simple_ber.3 b/doc/man/asn1_decode_simple_ber.3 new file mode 100644 index 0000000..ee34c13 --- /dev/null +++ b/doc/man/asn1_decode_simple_ber.3 @@ -0,0 +1,49 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_decode_simple_ber" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_decode_simple_ber \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_decode_simple_ber(unsigned int " etype ", const unsigned char * " der ", unsigned int " _der_len ", unsigned char ** " str ", unsigned int * " str_len ", unsigned int * " ber_len ");" +.SH ARGUMENTS +.IP "unsigned int etype" 12 +The type of the string to be encoded (ASN1_ETYPE_) +.IP "const unsigned char * der" 12 +the encoded string +.IP "unsigned int _der_len" 12 +the bytes of the encoded string +.IP "unsigned char ** str" 12 +a pointer to the data +.IP "unsigned int * str_len" 12 +the length of the data +.IP "unsigned int * ber_len" 12 +the total length occupied by BER (may be \fBNULL\fP) +.SH "DESCRIPTION" +Decodes a BER encoded type. The output is an allocated value +of the data. This decodes BER STRINGS only. Other types are +decoded as DER. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful or an error value. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_decode_simple_der.3 b/doc/man/asn1_decode_simple_der.3 new file mode 100644 index 0000000..4b2a831 --- /dev/null +++ b/doc/man/asn1_decode_simple_der.3 @@ -0,0 +1,46 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_decode_simple_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_decode_simple_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_decode_simple_der(unsigned int " etype ", const unsigned char * " der ", unsigned int " _der_len ", const unsigned char ** " str ", unsigned int * " str_len ");" +.SH ARGUMENTS +.IP "unsigned int etype" 12 +The type of the string to be encoded (ASN1_ETYPE_) +.IP "const unsigned char * der" 12 +the encoded string +.IP "unsigned int _der_len" 12 +the bytes of the encoded string +.IP "const unsigned char ** str" 12 +a pointer to the data +.IP "unsigned int * str_len" 12 +the length of the data +.SH "DESCRIPTION" +Decodes a simple DER encoded type (e.g. a string, which is not constructed). +The output is a pointer inside the \fIder\fP . +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful or an error value. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_delete_element.3 b/doc/man/asn1_delete_element.3 new file mode 100644 index 0000000..7925087 --- /dev/null +++ b/doc/man/asn1_delete_element.3 @@ -0,0 +1,41 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_delete_element" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_delete_element \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_delete_element(asn1_node " structure ", const char * " element_name ");" +.SH ARGUMENTS +.IP "asn1_node structure" 12 +pointer to the structure that contains the element you +want to delete. +.IP "const char * element_name" 12 +element's name you want to delete. +.SH "DESCRIPTION" +Deletes the element named * \fIelement_name\fP inside * \fIstructure\fP . +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful, \fBASN1_ELEMENT_NOT_FOUND\fP if +the \fIelement_name\fP was not found. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_delete_structure.3 b/doc/man/asn1_delete_structure.3 new file mode 100644 index 0000000..7b15c2a --- /dev/null +++ b/doc/man/asn1_delete_structure.3 @@ -0,0 +1,39 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_delete_structure" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_delete_structure \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_delete_structure(asn1_node * " structure ");" +.SH ARGUMENTS +.IP "asn1_node * structure" 12 +pointer to the structure that you want to delete. +.SH "DESCRIPTION" +Deletes the structure * \fIstructure\fP . At the end, * \fIstructure\fP is set +to NULL. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful, \fBASN1_ELEMENT_NOT_FOUND\fP if +* \fIstructure\fP was NULL. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_delete_structure2.3 b/doc/man/asn1_delete_structure2.3 new file mode 100644 index 0000000..c1e1b26 --- /dev/null +++ b/doc/man/asn1_delete_structure2.3 @@ -0,0 +1,41 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_delete_structure2" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_delete_structure2 \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_delete_structure2(asn1_node * " structure ", unsigned int " flags ");" +.SH ARGUMENTS +.IP "asn1_node * structure" 12 +pointer to the structure that you want to delete. +.IP "unsigned int flags" 12 +additional flags (see \fBASN1_DELETE_FLAG\fP) +.SH "DESCRIPTION" +Deletes the structure * \fIstructure\fP . At the end, * \fIstructure\fP is set +to NULL. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful, \fBASN1_ELEMENT_NOT_FOUND\fP if +* \fIstructure\fP was NULL. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_der_coding.3 b/doc/man/asn1_der_coding.3 new file mode 100644 index 0000000..7880f70 --- /dev/null +++ b/doc/man/asn1_der_coding.3 @@ -0,0 +1,53 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_der_coding" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_der_coding \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_der_coding(asn1_node " element ", const char * " name ", void * " ider ", int * " len ", char * " ErrorDescription ");" +.SH ARGUMENTS +.IP "asn1_node element" 12 +pointer to an ASN1 element +.IP "const char * name" 12 +the name of the structure you want to encode (it must be +inside *POINTER). +.IP "void * ider" 12 +vector that will contain the DER encoding. DER must be a +pointer to memory cells already allocated. +.IP "int * len" 12 +number of bytes of * \fIider\fP : \fIider\fP [0].. \fIider\fP [len\-1], Initialy +holds the sizeof of der vector. +.IP "char * ErrorDescription" 12 +return the error description or an empty +string if success. +.SH "DESCRIPTION" +Creates the DER encoding for the NAME structure (inside *POINTER +structure). +.SH "RETURNS" +\fBASN1_SUCCESS\fP if DER encoding OK, \fBASN1_ELEMENT_NOT_FOUND\fP +if \fIname\fP is not a valid element, \fBASN1_VALUE_NOT_FOUND\fP if there +is an element without a value, \fBASN1_MEM_ERROR\fP if the \fIider\fP vector isn't big enough and in this case \fIlen\fP will contain the +length needed. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_der_decoding.3 b/doc/man/asn1_der_decoding.3 new file mode 100644 index 0000000..84cd185 --- /dev/null +++ b/doc/man/asn1_der_decoding.3 @@ -0,0 +1,52 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_der_decoding" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_der_decoding \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_der_decoding(asn1_node * " element ", const void * " ider ", int " ider_len ", char * " errorDescription ");" +.SH ARGUMENTS +.IP "asn1_node * element" 12 +pointer to an ASN1 structure. +.IP "const void * ider" 12 +vector that contains the DER encoding. +.IP "int ider_len" 12 +number of bytes of * \fIider\fP : \fIider\fP [0].. \fIider\fP [len\-1]. +.IP "char * errorDescription" 12 +null\-terminated string contains details when an +error occurred. +.SH "DESCRIPTION" +Fill the structure * \fIelement\fP with values of a DER encoding +string. The structure must just be created with function +\fBasn1_create_element()\fP. + +Note that the * \fIelement\fP variable is provided as a pointer for +historical reasons. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if DER encoding OK, \fBASN1_ELEMENT_NOT_FOUND\fP +if \fIELEMENT\fP is \fBNULL\fP, and \fBASN1_TAG_ERROR\fP or +\fBASN1_DER_ERROR\fP if the der encoding doesn't match the structure +name (* \fIELEMENT\fP deleted). +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_der_decoding2.3 b/doc/man/asn1_der_decoding2.3 new file mode 100644 index 0000000..d88bc21 --- /dev/null +++ b/doc/man/asn1_der_decoding2.3 @@ -0,0 +1,59 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_der_decoding2" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_der_decoding2 \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_der_decoding2(asn1_node * " element ", const void * " ider ", int * " max_ider_len ", unsigned int " flags ", char * " errorDescription ");" +.SH ARGUMENTS +.IP "asn1_node * element" 12 +pointer to an ASN1 structure. +.IP "const void * ider" 12 +vector that contains the DER encoding. +.IP "int * max_ider_len" 12 +pointer to an integer giving the information about the +maximal number of bytes occupied by * \fIider\fP . The real size of the DER +encoding is returned through this pointer. +.IP "unsigned int flags" 12 +flags controlling the behaviour of the function. +.IP "char * errorDescription" 12 +null\-terminated string contains details when an +error occurred. +.SH "DESCRIPTION" +Fill the structure * \fIelement\fP with values of a DER encoding string. The +structure must just be created with function \fBasn1_create_element()\fP. + +If \fBASN1_DECODE_FLAG_ALLOW_PADDING\fP flag is set then the function will ignore +padding after the decoded DER data. Upon a successful return the value of +* \fImax_ider_len\fP will be set to the number of bytes decoded. + +If \fBASN1_DECODE_FLAG_STRICT_DER\fP flag is set then the function will +not decode any BER\-encoded elements. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if DER encoding OK, \fBASN1_ELEMENT_NOT_FOUND\fP +if \fIELEMENT\fP is \fBNULL\fP, and \fBASN1_TAG_ERROR\fP or +\fBASN1_DER_ERROR\fP if the der encoding doesn't match the structure +name (* \fIELEMENT\fP deleted). +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_der_decoding_element.3 b/doc/man/asn1_der_decoding_element.3 new file mode 100644 index 0000000..7c020de --- /dev/null +++ b/doc/man/asn1_der_decoding_element.3 @@ -0,0 +1,57 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_der_decoding_element" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_der_decoding_element \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_der_decoding_element(asn1_node * " structure ", const char * " elementName ", const void * " ider ", int " len ", char * " errorDescription ");" +.SH ARGUMENTS +.IP "asn1_node * structure" 12 +pointer to an ASN1 structure +.IP "const char * elementName" 12 +name of the element to fill +.IP "const void * ider" 12 +vector that contains the DER encoding of the whole structure. +.IP "int len" 12 +number of bytes of *der: der[0]..der[len\-1] +.IP "char * errorDescription" 12 +null\-terminated string contains details when an +error occurred. +.SH "DESCRIPTION" +Fill the element named \fIELEMENTNAME\fP with values of a DER encoding +string. The structure must just be created with function +\fBasn1_create_element()\fP. The DER vector must contain the encoding +string of the whole \fISTRUCTURE\fP . If an error occurs during the +decoding procedure, the * \fISTRUCTURE\fP is deleted and set equal to +\fBNULL\fP. + +This function is deprecated and may just be an alias to asn1_der_decoding +in future versions. Use \fBasn1_der_decoding()\fP instead. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if DER encoding OK, \fBASN1_ELEMENT_NOT_FOUND\fP +if ELEMENT is \fBNULL\fP or \fIelementName\fP == NULL, and +\fBASN1_TAG_ERROR\fP or \fBASN1_DER_ERROR\fP if the der encoding doesn't +match the structure \fIstructure\fP (*ELEMENT deleted). +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_der_decoding_startEnd.3 b/doc/man/asn1_der_decoding_startEnd.3 new file mode 100644 index 0000000..1974fa4 --- /dev/null +++ b/doc/man/asn1_der_decoding_startEnd.3 @@ -0,0 +1,62 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_der_decoding_startEnd" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_der_decoding_startEnd \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_der_decoding_startEnd(asn1_node " element ", const void * " ider ", int " ider_len ", const char * " name_element ", int * " start ", int * " end ");" +.SH ARGUMENTS +.IP "asn1_node element" 12 +pointer to an ASN1 element +.IP "const void * ider" 12 +vector that contains the DER encoding. +.IP "int ider_len" 12 +number of bytes of * \fIider\fP : \fIider\fP [0].. \fIider\fP [len\-1] +.IP "const char * name_element" 12 +an element of NAME structure. +.IP "int * start" 12 +the position of the first byte of NAME_ELEMENT decoding +( \fIider\fP [*start]) +.IP "int * end" 12 +the position of the last byte of NAME_ELEMENT decoding +( \fIider\fP [*end]) +.SH "DESCRIPTION" +Find the start and end point of an element in a DER encoding +string. I mean that if you have a der encoding and you have already +used the function \fBasn1_der_decoding()\fP to fill a structure, it may +happen that you want to find the piece of string concerning an +element of the structure. + +One example is the sequence "tbsCertificate" inside an X509 +certificate. + +Note that since libtasn1 3.7 the \fIider\fP and \fIider_len\fP parameters +can be omitted, if the element is already decoded using \fBasn1_der_decoding()\fP. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if DER encoding OK, \fBASN1_ELEMENT_NOT_FOUND\fP +if ELEMENT is \fBasn1_node\fP EMPTY or \fIname_element\fP is not a valid +element, \fBASN1_TAG_ERROR\fP or \fBASN1_DER_ERROR\fP if the der encoding +doesn't match the structure ELEMENT. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_dup_node.3 b/doc/man/asn1_dup_node.3 new file mode 100644 index 0000000..5a86b2e --- /dev/null +++ b/doc/man/asn1_dup_node.3 @@ -0,0 +1,40 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_dup_node" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_dup_node \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "asn1_node asn1_dup_node(asn1_node " src ", const char * " src_name ");" +.SH ARGUMENTS +.IP "asn1_node src" 12 +Source asn1 node. +.IP "const char * src_name" 12 +Field name in source node. +.SH "DESCRIPTION" +Create a deep copy of a asn1_node variable. This function +will return an exact copy of the provided structure. +.SH "RETURNS" +Return \fBNULL\fP on failure. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_encode_simple_der.3 b/doc/man/asn1_encode_simple_der.3 new file mode 100644 index 0000000..62c2a25 --- /dev/null +++ b/doc/man/asn1_encode_simple_der.3 @@ -0,0 +1,50 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_encode_simple_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_encode_simple_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_encode_simple_der(unsigned int " etype ", const unsigned char * " str ", unsigned int " str_len ", unsigned char * " tl ", unsigned int * " tl_len ");" +.SH ARGUMENTS +.IP "unsigned int etype" 12 +The type of the string to be encoded (ASN1_ETYPE_) +.IP "const unsigned char * str" 12 +the string data. +.IP "unsigned int str_len" 12 +the string length +.IP "unsigned char * tl" 12 +the encoded tag and length +.IP "unsigned int * tl_len" 12 +the bytes of the \fItl\fP field +.SH "DESCRIPTION" +Creates the DER encoding for various simple ASN.1 types like strings etc. +It stores the tag and length in \fItl\fP , which should have space for at least +\fBASN1_MAX_TL_SIZE\fP bytes. Initially \fItl_len\fP should contain the size of \fItl\fP . + +The complete DER encoding should consist of the value in \fItl\fP appended +with the provided \fIstr\fP . +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful or an error value. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_expand_any_defined_by.3 b/doc/man/asn1_expand_any_defined_by.3 new file mode 100644 index 0000000..aa0e79e --- /dev/null +++ b/doc/man/asn1_expand_any_defined_by.3 @@ -0,0 +1,46 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_expand_any_defined_by" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_expand_any_defined_by \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_expand_any_defined_by(asn1_node " definitions ", asn1_node * " element ");" +.SH ARGUMENTS +.IP "asn1_node definitions" 12 +ASN1 definitions +.IP "asn1_node * element" 12 +pointer to an ASN1 structure +.SH "DESCRIPTION" +Expands every "ANY DEFINED BY" element of a structure created from +a DER decoding process (asn1_der_decoding function). The element +ANY must be defined by an OBJECT IDENTIFIER. The type used to +expand the element ANY is the first one following the definition of +the actual value of the OBJECT IDENTIFIER. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if Substitution OK, \fBASN1_ERROR_TYPE_ANY\fP if +some "ANY DEFINED BY" element couldn't be expanded due to a +problem in OBJECT_ID \-> TYPE association, or other error codes +depending on DER decoding. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_expand_octet_string.3 b/doc/man/asn1_expand_octet_string.3 new file mode 100644 index 0000000..8cc34a7 --- /dev/null +++ b/doc/man/asn1_expand_octet_string.3 @@ -0,0 +1,50 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_expand_octet_string" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_expand_octet_string \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_expand_octet_string(asn1_node " definitions ", asn1_node * " element ", const char * " octetName ", const char * " objectName ");" +.SH ARGUMENTS +.IP "asn1_node definitions" 12 +ASN1 definitions +.IP "asn1_node * element" 12 +pointer to an ASN1 structure +.IP "const char * octetName" 12 +name of the OCTECT STRING field to expand. +.IP "const char * objectName" 12 +name of the OBJECT IDENTIFIER field to use to define +the type for expansion. +.SH "DESCRIPTION" +Expands an "OCTET STRING" element of a structure created from a DER +decoding process (the \fBasn1_der_decoding()\fP function). The type used +for expansion is the first one following the definition of the +actual value of the OBJECT IDENTIFIER indicated by OBJECTNAME. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if substitution OK, \fBASN1_ELEMENT_NOT_FOUND\fP +if \fIobjectName\fP or \fIoctetName\fP are not correct, +\fBASN1_VALUE_NOT_VALID\fP if it wasn't possible to find the type to +use for expansion, or other errors depending on DER decoding. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_find_node.3 b/doc/man/asn1_find_node.3 new file mode 100644 index 0000000..eb61677 --- /dev/null +++ b/doc/man/asn1_find_node.3 @@ -0,0 +1,42 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_find_node" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_find_node \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "asn1_node asn1_find_node(asn1_node " pointer ", const char * " name ");" +.SH ARGUMENTS +.IP "asn1_node pointer" 12 +NODE_ASN element pointer. +.IP "const char * name" 12 +null terminated string with the element's name to find. +.SH "DESCRIPTION" +Searches for an element called \fIname\fP starting from \fIpointer\fP . The +name is composed by differents identifiers separated by dots. When +* \fIpointer\fP has a name, the first identifier must be the name of +* \fIpointer\fP , otherwise it must be the name of one child of * \fIpointer\fP . +.SH "RETURNS" +the search result, or \fBNULL\fP if not found. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_find_structure_from_oid.3 b/doc/man/asn1_find_structure_from_oid.3 new file mode 100644 index 0000000..0e71339 --- /dev/null +++ b/doc/man/asn1_find_structure_from_oid.3 @@ -0,0 +1,41 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_find_structure_from_oid" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_find_structure_from_oid \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "const char * asn1_find_structure_from_oid(asn1_node " definitions ", const char * " oidValue ");" +.SH ARGUMENTS +.IP "asn1_node definitions" 12 +ASN1 definitions +.IP "const char * oidValue" 12 +value of the OID to search (e.g. "1.2.3.4"). +.SH "DESCRIPTION" +Search the structure that is defined just after an OID definition. +.SH "RETURNS" +\fBNULL\fP when \fIoidValue\fP not found, otherwise the pointer to a +constant string that contains the element name defined just after +the OID. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_get_bit_der.3 b/doc/man/asn1_get_bit_der.3 new file mode 100644 index 0000000..9e60ea8 --- /dev/null +++ b/doc/man/asn1_get_bit_der.3 @@ -0,0 +1,47 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_get_bit_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_get_bit_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_get_bit_der(const unsigned char * " der ", int " der_len ", int * " ret_len ", unsigned char * " str ", int " str_size ", int * " bit_len ");" +.SH ARGUMENTS +.IP "const unsigned char * der" 12 +DER data to decode containing the BIT SEQUENCE. +.IP "int der_len" 12 +Length of DER data to decode. +.IP "int * ret_len" 12 +Output variable containing the length of the DER data. +.IP "unsigned char * str" 12 +Pre\-allocated output buffer to put decoded BIT SEQUENCE in. +.IP "int str_size" 12 +Length of pre\-allocated output buffer. +.IP "int * bit_len" 12 +Output variable containing the size of the BIT SEQUENCE. +.SH "DESCRIPTION" +Extract a BIT SEQUENCE from DER data. +.SH "RETURNS" +\fBASN1_SUCCESS\fP on success, or an error. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_get_length_ber.3 b/doc/man/asn1_get_length_ber.3 new file mode 100644 index 0000000..289ae44 --- /dev/null +++ b/doc/man/asn1_get_length_ber.3 @@ -0,0 +1,46 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_get_length_ber" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_get_length_ber \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "long asn1_get_length_ber(const unsigned char * " ber ", int " ber_len ", int * " len ");" +.SH ARGUMENTS +.IP "const unsigned char * ber" 12 +BER data to decode. +.IP "int ber_len" 12 +Length of BER data to decode. +.IP "int * len" 12 +Output variable containing the length of the BER length field. +.SH "DESCRIPTION" +Extract a length field from BER data. The difference to +\fBasn1_get_length_der()\fP is that this function will return a length +even if the value has indefinite encoding. +.SH "RETURNS" +Return the decoded length value, or negative value when +the value was too big. +.SH "SINCE" +2.0 +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_get_length_der.3 b/doc/man/asn1_get_length_der.3 new file mode 100644 index 0000000..b2157af --- /dev/null +++ b/doc/man/asn1_get_length_der.3 @@ -0,0 +1,43 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_get_length_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_get_length_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "long asn1_get_length_der(const unsigned char * " der ", int " der_len ", int * " len ");" +.SH ARGUMENTS +.IP "const unsigned char * der" 12 +DER data to decode. +.IP "int der_len" 12 +Length of DER data to decode. +.IP "int * len" 12 +Output variable containing the length of the DER length field. +.SH "DESCRIPTION" +Extract a length field from DER data. +.SH "RETURNS" +Return the decoded length value, or \-1 on indefinite +length, or \-2 when the value was too big to fit in a int, or \-4 +when the decoded length value plus \fIlen\fP would exceed \fIder_len\fP . +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_get_object_id_der.3 b/doc/man/asn1_get_object_id_der.3 new file mode 100644 index 0000000..fdef87a --- /dev/null +++ b/doc/man/asn1_get_object_id_der.3 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_get_object_id_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_get_object_id_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_get_object_id_der(const unsigned char * " der ", int " der_len ", int * " ret_len ", char * " str ", int " str_size ");" +.SH ARGUMENTS +.IP "const unsigned char * der" 12 +DER data to decode containing the OBJECT IDENTIFIER +.IP "int der_len" 12 +Length of DER data to decode. +.IP "int * ret_len" 12 +Output variable containing the length of the DER data. +.IP "char * str" 12 +Pre\-allocated output buffer to put the textual object id in. +.IP "int str_size" 12 +Length of pre\-allocated output buffer. +.SH "DESCRIPTION" +Converts a DER encoded object identifier to its textual form. +.SH "RETURNS" +\fBASN1_SUCCESS\fP on success, or an error. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_get_octet_der.3 b/doc/man/asn1_get_octet_der.3 new file mode 100644 index 0000000..e142e52 --- /dev/null +++ b/doc/man/asn1_get_octet_der.3 @@ -0,0 +1,47 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_get_octet_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_get_octet_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_get_octet_der(const unsigned char * " der ", int " der_len ", int * " ret_len ", unsigned char * " str ", int " str_size ", int * " str_len ");" +.SH ARGUMENTS +.IP "const unsigned char * der" 12 +DER data to decode containing the OCTET SEQUENCE. +.IP "int der_len" 12 +Length of DER data to decode. +.IP "int * ret_len" 12 +Output variable containing the length of the DER data. +.IP "unsigned char * str" 12 +Pre\-allocated output buffer to put decoded OCTET SEQUENCE in. +.IP "int str_size" 12 +Length of pre\-allocated output buffer. +.IP "int * str_len" 12 +Output variable containing the length of the OCTET SEQUENCE. +.SH "DESCRIPTION" +Extract an OCTET SEQUENCE from DER data. +.SH "RETURNS" +Returns \fBASN1_SUCCESS\fP on success, or an error. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_get_tag_der.3 b/doc/man/asn1_get_tag_der.3 new file mode 100644 index 0000000..c39ca94 --- /dev/null +++ b/doc/man/asn1_get_tag_der.3 @@ -0,0 +1,45 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_get_tag_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_get_tag_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_get_tag_der(const unsigned char * " der ", int " der_len ", unsigned char * " cls ", int * " len ", unsigned long * " tag ");" +.SH ARGUMENTS +.IP "const unsigned char * der" 12 +DER data to decode. +.IP "int der_len" 12 +Length of DER data to decode. +.IP "unsigned char * cls" 12 +Output variable containing decoded class. +.IP "int * len" 12 +Output variable containing the length of the DER TAG data. +.IP "unsigned long * tag" 12 +Output variable containing the decoded tag. +.SH "DESCRIPTION" +Decode the class and TAG from DER code. +.SH "RETURNS" +Returns \fBASN1_SUCCESS\fP on success, or an error. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_length_der.3 b/doc/man/asn1_length_der.3 new file mode 100644 index 0000000..6bae394 --- /dev/null +++ b/doc/man/asn1_length_der.3 @@ -0,0 +1,43 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_length_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_length_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "void asn1_length_der(unsigned long int " len ", unsigned char * " der ", int * " der_len ");" +.SH ARGUMENTS +.IP "unsigned long int len" 12 +value to convert. +.IP "unsigned char * der" 12 +buffer to hold the returned encoding (may be \fBNULL\fP). +.IP "int * der_len" 12 +number of meaningful bytes of ANS (der[0]..der[der_len\-1]). +.SH "DESCRIPTION" +Creates the DER encoding of the provided length value. +The \fIder\fP buffer must have enough room for the output. The maximum +length this function will encode is \fBASN1_MAX_LENGTH_SIZE\fP. + +To know the size of the DER encoding use a \fBNULL\fP value for \fIder\fP . +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_number_of_elements.3 b/doc/man/asn1_number_of_elements.3 new file mode 100644 index 0000000..414d293 --- /dev/null +++ b/doc/man/asn1_number_of_elements.3 @@ -0,0 +1,43 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_number_of_elements" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_number_of_elements \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_number_of_elements(asn1_node " element ", const char * " name ", int * " num ");" +.SH ARGUMENTS +.IP "asn1_node element" 12 +pointer to the root of an ASN1 structure. +.IP "const char * name" 12 +the name of a sub\-structure of ROOT. +.IP "int * num" 12 +pointer to an integer where the result will be stored +.SH "DESCRIPTION" +Counts the number of elements of a sub\-structure called NAME with +names equal to "?1","?2", ... +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful, \fBASN1_ELEMENT_NOT_FOUND\fP if + \fIname\fP is not known, \fBASN1_GENERIC_ERROR\fP if pointer \fInum\fP is \fBNULL\fP. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_octet_der.3 b/doc/man/asn1_octet_der.3 new file mode 100644 index 0000000..1f40633 --- /dev/null +++ b/doc/man/asn1_octet_der.3 @@ -0,0 +1,49 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_octet_der" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_octet_der \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "void asn1_octet_der(const unsigned char * " str ", int " str_len ", unsigned char * " der ", int * " der_len ");" +.SH ARGUMENTS +.IP "const unsigned char * str" 12 +the input data. +.IP "int str_len" 12 +STR length (str[0]..str[*str_len\-1]). +.IP "unsigned char * der" 12 +encoded string returned. +.IP "int * der_len" 12 +number of meaningful bytes of DER (der[0]..der[der_len\-1]). +.SH "DESCRIPTION" +Creates a length\-value DER encoding for the input data. +The DER encoding of the input data will be placed in the \fIder\fP variable. + +Note that the OCTET STRING tag is not included in the output. + +This function does not return any value because it is expected +that \fIder_len\fP will contain enough bytes to store the string +plus the DER encoding. The DER encoding size can be obtained using +\fBasn1_length_der()\fP. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_parser2array.3 b/doc/man/asn1_parser2array.3 new file mode 100644 index 0000000..38929fc --- /dev/null +++ b/doc/man/asn1_parser2array.3 @@ -0,0 +1,57 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_parser2array" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_parser2array \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_parser2array(const char * " inputFileName ", const char * " outputFileName ", const char * " vectorName ", char * " error_desc ");" +.SH ARGUMENTS +.IP "const char * inputFileName" 12 +specify the path and the name of file that +contains ASN.1 declarations. +.IP "const char * outputFileName" 12 +specify the path and the name of file that will +contain the C vector definition. +.IP "const char * vectorName" 12 +specify the name of the C vector. +.IP "char * error_desc" 12 +return the error description or an empty +string if success. +.SH "DESCRIPTION" +Function that generates a C structure from an ASN1 file. Creates a +file containing a C vector to use to manage the definitions +included in \fIinputFileName\fP file. If \fIinputFileName\fP is +"/aa/bb/xx.yy" and \fIoutputFileName\fP is \fBNULL\fP, the file created is +"/aa/bb/xx_asn1_tab.c". If \fIvectorName\fP is \fBNULL\fP the vector name +will be "xx_asn1_tab". +.SH "RETURNS" +\fBASN1_SUCCESS\fP if the file has a correct syntax and every +identifier is known, \fBASN1_FILE_NOT_FOUND\fP if an error occured +while opening \fIinputFileName\fP , \fBASN1_SYNTAX_ERROR\fP if the syntax is +not correct, \fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is +an identifier that is not defined, \fBASN1_NAME_TOO_LONG\fP if in the +file there is an identifier whith more than \fBASN1_MAX_NAME_SIZE\fP +characters. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_parser2tree.3 b/doc/man/asn1_parser2tree.3 new file mode 100644 index 0000000..c29b411 --- /dev/null +++ b/doc/man/asn1_parser2tree.3 @@ -0,0 +1,52 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_parser2tree" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_parser2tree \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_parser2tree(const char * " file ", asn1_node * " definitions ", char * " error_desc ");" +.SH ARGUMENTS +.IP "const char * file" 12 +specify the path and the name of file that contains +ASN.1 declarations. +.IP "asn1_node * definitions" 12 +return the pointer to the structure created from +"file" ASN.1 declarations. +.IP "char * error_desc" 12 +return the error description or an empty +string if success. +.SH "DESCRIPTION" +Function used to start the parse algorithm. Creates the structures +needed to manage the definitions included in \fIfile\fP file. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if the file has a correct syntax and every +identifier is known, \fBASN1_ELEMENT_NOT_EMPTY\fP if \fIdefinitions\fP not +\fBNULL\fP, \fBASN1_FILE_NOT_FOUND\fP if an error occured while +opening \fIfile\fP , \fBASN1_SYNTAX_ERROR\fP if the syntax is not +correct, \fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is an +identifier that is not defined, \fBASN1_NAME_TOO_LONG\fP if in the +file there is an identifier whith more than \fBASN1_MAX_NAME_SIZE\fP +characters. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_perror.3 b/doc/man/asn1_perror.3 new file mode 100644 index 0000000..7dd11ba --- /dev/null +++ b/doc/man/asn1_perror.3 @@ -0,0 +1,39 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_perror" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_perror \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "void asn1_perror(int " error ");" +.SH ARGUMENTS +.IP "int error" 12 +is an error returned by a libtasn1 function. +.SH "DESCRIPTION" +Prints a string to stderr with a description of an error. This +function is like \fBperror()\fP. The only difference is that it accepts +an error returned by a libtasn1 function. +.SH "SINCE" +1.6 +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_print_structure.3 b/doc/man/asn1_print_structure.3 new file mode 100644 index 0000000..f259828 --- /dev/null +++ b/doc/man/asn1_print_structure.3 @@ -0,0 +1,44 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_print_structure" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_print_structure \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "void asn1_print_structure(FILE * " out ", asn1_node " structure ", const char * " name ", int " mode ");" +.SH ARGUMENTS +.IP "FILE * out" 12 +pointer to the output file (e.g. stdout). +.IP "asn1_node structure" 12 +pointer to the structure that you want to visit. +.IP "const char * name" 12 +an element of the structure +.IP "int mode" 12 +specify how much of the structure to print, can be +\fBASN1_PRINT_NAME\fP, \fBASN1_PRINT_NAME_TYPE\fP, +\fBASN1_PRINT_NAME_TYPE_VALUE\fP, or \fBASN1_PRINT_ALL\fP. +.SH "DESCRIPTION" +Prints on the \fIout\fP file descriptor the structure's tree starting +from the \fIname\fP element inside the structure \fIstructure\fP . +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_read_node_value.3 b/doc/man/asn1_read_node_value.3 new file mode 100644 index 0000000..590d1ac --- /dev/null +++ b/doc/man/asn1_read_node_value.3 @@ -0,0 +1,40 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_read_node_value" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_read_node_value \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_read_node_value(asn1_node " node ", asn1_data_node_st * " data ");" +.SH ARGUMENTS +.IP "asn1_node node" 12 +pointer to a node. +.IP "asn1_data_node_st * data" 12 +a point to a asn1_data_node_st +.SH "DESCRIPTION" +Returns the value a data node inside a asn1_node structure. +The data returned should be handled as constant values. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if the node exists. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_read_tag.3 b/doc/man/asn1_read_tag.3 new file mode 100644 index 0000000..c9c967d --- /dev/null +++ b/doc/man/asn1_read_tag.3 @@ -0,0 +1,47 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_read_tag" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_read_tag \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_read_tag(asn1_node " root ", const char * " name ", int * " tagValue ", int * " classValue ");" +.SH ARGUMENTS +.IP "asn1_node root" 12 +pointer to a structure +.IP "const char * name" 12 +the name of the element inside a structure. +.IP "int * tagValue" 12 +variable that will contain the TAG value. +.IP "int * classValue" 12 +variable that will specify the TAG type. +.SH "DESCRIPTION" +Returns the TAG and the CLASS of one element inside a structure. +CLASS can have one of these constants: \fBASN1_CLASS_APPLICATION\fP, +\fBASN1_CLASS_UNIVERSAL\fP, \fBASN1_CLASS_PRIVATE\fP or +\fBASN1_CLASS_CONTEXT_SPECIFIC\fP. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if successful, \fBASN1_ELEMENT_NOT_FOUND\fP if + \fIname\fP is not a valid element. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_read_value.3 b/doc/man/asn1_read_value.3 new file mode 100644 index 0000000..49f8ce4 --- /dev/null +++ b/doc/man/asn1_read_value.3 @@ -0,0 +1,97 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_read_value" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_read_value \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_read_value(asn1_node " root ", const char * " name ", void * " ivalue ", int * " len ");" +.SH ARGUMENTS +.IP "asn1_node root" 12 +pointer to a structure. +.IP "const char * name" 12 +the name of the element inside a structure that you want to read. +.IP "void * ivalue" 12 +vector that will contain the element's content, must be a +pointer to memory cells already allocated (may be \fBNULL\fP). +.IP "int * len" 12 +number of bytes of *value: value[0]..value[len\-1]. Initialy +holds the sizeof value. +.SH "DESCRIPTION" +Returns the value of one element inside a structure. +If an element is OPTIONAL and this returns +\fBASN1_ELEMENT_NOT_FOUND\fP, it means that this element wasn't present +in the der encoding that created the structure. The first element +of a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and +so on. If the \fIroot\fP provided is a node to specific sequence element, +then the keyword "?CURRENT" is also acceptable and indicates the +current sequence element of this node. + +Note that there can be valid values with length zero. In these case +this function will succeed and \fIlen\fP will be zero. +.SH "INTEGER" +VALUE will contain a two's complement form integer. + +integer=\-1 \-> value[0]=0xFF , len=1. +integer=1 \-> value[0]=0x01 , len=1. +.SH "ENUMERATED" +As INTEGER (but only with not negative numbers). +.SH "BOOLEAN" +VALUE will be the null terminated string "TRUE" or +"FALSE" and LEN=5 or LEN=6. + +OBJECT IDENTIFIER: VALUE will be a null terminated string with +each number separated by a dot (i.e. "1.2.3.543.1"). + +LEN = strlen(VALUE)+1 +.SH "UTCTIME" +VALUE will be a null terminated string in one of these +formats: "YYMMDDhhmmss+hh'mm'" or "YYMMDDhhmmss\-hh'mm'". +LEN=strlen(VALUE)+1. +.SH "GENERALIZEDTIME" +VALUE will be a null terminated string in the +same format used to set the value. + +OCTET STRING: VALUE will contain the octet string and LEN will be +the number of octets. +.SH "GENERALSTRING" +VALUE will contain the generalstring and LEN will +be the number of octets. + +BIT STRING: VALUE will contain the bit string organized by bytes +and LEN will be the number of bits. +.SH "CHOICE" +If NAME indicates a choice type, VALUE will specify the +alternative selected. +.SH "ANY" +If NAME indicates an any type, VALUE will indicate the DER +encoding of the structure actually used. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if value is returned, +\fBASN1_ELEMENT_NOT_FOUND\fP if \fIname\fP is not a valid element, +\fBASN1_VALUE_NOT_FOUND\fP if there isn't any value for the element +selected, and \fBASN1_MEM_ERROR\fP if The value vector isn't big enough +to store the result, and in this case \fIlen\fP will contain the number of +bytes needed. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_read_value_type.3 b/doc/man/asn1_read_value_type.3 new file mode 100644 index 0000000..8cb2ec9 --- /dev/null +++ b/doc/man/asn1_read_value_type.3 @@ -0,0 +1,99 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_read_value_type" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_read_value_type \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_read_value_type(asn1_node " root ", const char * " name ", void * " ivalue ", int * " len ", unsigned int * " etype ");" +.SH ARGUMENTS +.IP "asn1_node root" 12 +pointer to a structure. +.IP "const char * name" 12 +the name of the element inside a structure that you want to read. +.IP "void * ivalue" 12 +vector that will contain the element's content, must be a +pointer to memory cells already allocated (may be \fBNULL\fP). +.IP "int * len" 12 +number of bytes of *value: value[0]..value[len\-1]. Initialy +holds the sizeof value. +.IP "unsigned int * etype" 12 +The type of the value read (ASN1_ETYPE) +.SH "DESCRIPTION" +Returns the type and value of one element inside a structure. +If an element is OPTIONAL and this returns +\fBASN1_ELEMENT_NOT_FOUND\fP, it means that this element wasn't present +in the der encoding that created the structure. The first element +of a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and +so on. If the \fIroot\fP provided is a node to specific sequence element, +then the keyword "?CURRENT" is also acceptable and indicates the +current sequence element of this node. + +Note that there can be valid values with length zero. In these case +this function will succeed and \fIlen\fP will be zero. +.SH "INTEGER" +VALUE will contain a two's complement form integer. + +integer=\-1 \-> value[0]=0xFF , len=1. +integer=1 \-> value[0]=0x01 , len=1. +.SH "ENUMERATED" +As INTEGER (but only with not negative numbers). +.SH "BOOLEAN" +VALUE will be the null terminated string "TRUE" or +"FALSE" and LEN=5 or LEN=6. + +OBJECT IDENTIFIER: VALUE will be a null terminated string with +each number separated by a dot (i.e. "1.2.3.543.1"). + +LEN = strlen(VALUE)+1 +.SH "UTCTIME" +VALUE will be a null terminated string in one of these +formats: "YYMMDDhhmmss+hh'mm'" or "YYMMDDhhmmss\-hh'mm'". +LEN=strlen(VALUE)+1. +.SH "GENERALIZEDTIME" +VALUE will be a null terminated string in the +same format used to set the value. + +OCTET STRING: VALUE will contain the octet string and LEN will be +the number of octets. +.SH "GENERALSTRING" +VALUE will contain the generalstring and LEN will +be the number of octets. + +BIT STRING: VALUE will contain the bit string organized by bytes +and LEN will be the number of bits. +.SH "CHOICE" +If NAME indicates a choice type, VALUE will specify the +alternative selected. +.SH "ANY" +If NAME indicates an any type, VALUE will indicate the DER +encoding of the structure actually used. +.SH "RETURNS" +\fBASN1_SUCCESS\fP if value is returned, +\fBASN1_ELEMENT_NOT_FOUND\fP if \fIname\fP is not a valid element, +\fBASN1_VALUE_NOT_FOUND\fP if there isn't any value for the element +selected, and \fBASN1_MEM_ERROR\fP if The value vector isn't big enough +to store the result, and in this case \fIlen\fP will contain the number of +bytes needed. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_strerror.3 b/doc/man/asn1_strerror.3 new file mode 100644 index 0000000..9c33edd --- /dev/null +++ b/doc/man/asn1_strerror.3 @@ -0,0 +1,42 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_strerror" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_strerror \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "const char * asn1_strerror(int " error ");" +.SH ARGUMENTS +.IP "int error" 12 +is an error returned by a libtasn1 function. +.SH "DESCRIPTION" +Returns a string with a description of an error. This function is +similar to strerror. The only difference is that it accepts an +error (number) returned by a libtasn1 function. +.SH "RETURNS" +Pointer to static zero\-terminated string describing error +code. +.SH "SINCE" +1.6 +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP diff --git a/doc/man/asn1_write_value.3 b/doc/man/asn1_write_value.3 new file mode 100644 index 0000000..bd35336 --- /dev/null +++ b/doc/man/asn1_write_value.3 @@ -0,0 +1,138 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by gdoc. +.TH "asn1_write_value" 3 "4.8" "libtasn1" "libtasn1" +.SH NAME +asn1_write_value \- API function +.SH SYNOPSIS +.B #include <libtasn1.h> +.sp +.BI "int asn1_write_value(asn1_node " node_root ", const char * " name ", const void * " ivalue ", int " len ");" +.SH ARGUMENTS +.IP "asn1_node node_root" 12 +pointer to a structure +.IP "const char * name" 12 +the name of the element inside the structure that you want to set. +.IP "const void * ivalue" 12 +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. +.IP "int len" 12 +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 +.SH "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: +.SH "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. +.SH "ENUMERATED" +As INTEGER (but only with not negative numbers). +.SH "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. +.SH "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 +.SH "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. + +value="$\backslash$x01$\backslash$x02$\backslash$x03" , +len=3 \-> three bytes octet string +.SH "GENERALSTRING" +VALUE contains the generalstring and LEN is the +number of octets. + +value="$\backslash$x01$\backslash$x02$\backslash$x03" , +len=3 \-> three bytes generalstring + +BIT STRING: VALUE contains the bit string organized by bytes and +LEN is the number of bits. + +value="$\backslash$xCF" , len=6 \-> bit string="110011" (six +bits) +.SH "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); +.SH "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); +.SH "RETURNS" +\fBASN1_SUCCESS\fP if the value was set, +\fBASN1_ELEMENT_NOT_FOUND\fP if \fIname\fP is not a valid element, and +\fBASN1_VALUE_NOT_VALID\fP if \fIivalue\fP has a wrong format. +.SH COPYRIGHT +Copyright \(co 2006-2015 Free Software Foundation, Inc.. +.br +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. +.SH "SEE ALSO" +The full documentation for +.B libtasn1 +is maintained as a Texinfo manual. If the +.B info +and +.B libtasn1 +programs are properly installed at your site, the command +.IP +.B info libtasn1 +.PP +should give you access to the complete manual. +As an alternative you may obtain the manual from: +.IP +.B http://www.gnu.org/software/libtasn1/manual/ +.PP |