diff options
Diffstat (limited to 'doc/libtasn1.info')
-rw-r--r-- | doc/libtasn1.info | 309 |
1 files changed, 176 insertions, 133 deletions
diff --git a/doc/libtasn1.info b/doc/libtasn1.info index 8f0aa76..7766aa5 100644 --- a/doc/libtasn1.info +++ b/doc/libtasn1.info @@ -1,11 +1,11 @@ -This is libtasn1.info, produced by makeinfo version 6.5 from +This is libtasn1.info, produced by makeinfo version 6.7 from libtasn1.texi. -This manual is for GNU Libtasn1 (version 4.14, 29 March 2019), which is -a library for Abstract Syntax Notation One (ASN.1) and Distinguished +This manual is for GNU Libtasn1 (version 4.19.0, 18 August 2022), which +is a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2022 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -24,11 +24,11 @@ File: libtasn1.info, Node: Top, Next: Introduction, Up: (dir) Libtasn1 ******** -This manual is for GNU Libtasn1 (version 4.14, 29 March 2019), which is -a library for Abstract Syntax Notation One (ASN.1) and Distinguished +This manual is for GNU Libtasn1 (version 4.19.0, 18 August 2022), which +is a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2022 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -280,14 +280,20 @@ File: libtasn1.info, Node: Invoking asn1Parser, Next: Invoking asn1Coding, Up 'asn1Parser' reads a single file with ASN.1 definitions and generates a file with an array to use with libtasn1 functions. -Usage: asn1Parser [options] file +Usage: asn1Parser [OPTION] FILE +Read FILE with ASN.1 definitions and generate +a C array that is used with libtasn1 functions. -Options: - -h : shows the help message. - -v : shows version information and exit. - -c : checks the syntax only. - -o file : output file. - -n name : array name. +Mandatory arguments to long options are mandatory for short options too. + -c, --check checks the syntax only + -o, --output=FILE output file + -n, --name=NAME array name + -h, --help display this help and exit + -v, --version output version information and exit + +Report bugs to: help-libtasn1@gnu.org +GNU Libtasn1 home page: <https://www.gnu.org/software/libtasn1/> +General help using GNU software: <https://www.gnu.org/gethelp/> File: libtasn1.info, Node: Invoking asn1Coding, Next: Invoking asn1Decoding, Prev: Invoking asn1Parser, Up: Utilities @@ -313,14 +319,19 @@ element itself. (as in the example below.) The output file is a binary file with the DER encoding. -Usage: asn1Coding [options] file1 file2 - file1 : file with ASN1 definitions. - file2 : file with assignments. -Options: - -h : shows the help message. - -v : shows version information and exit. - -c : checks the syntax only. - -o file : output file. +Usage: asn1Coding [OPTION] DEFINITIONS ASSIGNMENTS +Generates a DER encoding of ASN.1 DEFINITIONS file +and ASSIGNMENTS file with value assignments. + +Mandatory arguments to long options are mandatory for short options too. + -c, --check checks the syntax only + -o, --output=FILE output file + -h, --help display this help and exit + -v, --version output version information and exit + +Report bugs to: help-libtasn1@gnu.org +GNU Libtasn1 home page: <https://www.gnu.org/software/libtasn1/> +General help using GNU software: <https://www.gnu.org/gethelp/> For example, consider an ASN.1 definitions file as follows: @@ -378,14 +389,19 @@ File: libtasn1.info, Node: Invoking asn1Decoding, Prev: Invoking asn1Coding, 'asn1Decoding' generates an ASN.1 structure from a file with ASN.1 definitions and a binary file with a DER encoding. -Usage: asn1Decoding [options] file1 file2 type - file1 : file with ASN1 definitions. - file2 : binary file with a DER encoding. - type : ASN1 definition name. -Options: - -h : shows the help message. - -v : shows version information and exit. - -o file : output file. +Usage: asn1Decoding [OPTION] DEFINITIONS ENCODED ASN1TYPE +Decodes DER data in ENCODED file, for the ASN1TYPE element +described in ASN.1 DEFINITIONS file, and print decoded structures. + + -b, --benchmark perform a benchmark on decoding + -s, --strict use strict DER decoding + -t, --no-time-strict use strict DER decoding but not in time fields + -h, --help display this help and exit + -v, --version output version information and exit + +Report bugs to: help-libtasn1@gnu.org +GNU Libtasn1 home page: <https://www.gnu.org/software/libtasn1/> +General help using GNU software: <https://www.gnu.org/gethelp/> For example, after generating the 'assign.out' file from the example section of the 'asn1Coding' command above, the following invocation will @@ -436,7 +452,7 @@ asn1_parser2tree occurred while opening 'file' , 'ASN1_SYNTAX_ERROR' if the syntax is not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is an identifier that is not defined, 'ASN1_NAME_TOO_LONG' if in the - file there is an identifier whith more than 'ASN1_MAX_NAME_SIZE' + file there is an identifier with more than 'ASN1_MAX_NAME_SIZE' characters. asn1_parser2array @@ -468,7 +484,7 @@ asn1_parser2array occurred while opening 'inputFileName' , 'ASN1_SYNTAX_ERROR' if the syntax is not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is an identifier that is not defined, 'ASN1_NAME_TOO_LONG' if - in the file there is an identifier whith more than + in the file there is an identifier with more than 'ASN1_MAX_NAME_SIZE' characters. @@ -517,7 +533,7 @@ asn1_delete_structure2 unsigned int FLAGS) STRUCTURE: pointer to the structure that you want to delete. - FLAGS: additional flags (see 'ASN1_DELETE_FLAG' ) + FLAGS: additional flags (see 'ASN1_DELETE_FLAG_ZEROIZE' ) Deletes the structure * 'structure' . At the end, * 'structure' is set to NULL. @@ -543,8 +559,8 @@ asn1_delete_element asn1_create_element ------------------- - -- Function: int asn1_create_element (asn1_node DEFINITIONS, const char - * SOURCE_NAME, asn1_node * ELEMENT) + -- Function: int asn1_create_element (asn1_node_const DEFINITIONS, + const char * SOURCE_NAME, asn1_node * ELEMENT) DEFINITIONS: pointer to the structure returned by "parser_asn1" function @@ -564,7 +580,7 @@ asn1_create_element asn1_print_structure -------------------- - -- Function: void asn1_print_structure (FILE * OUT, asn1_node + -- Function: void asn1_print_structure (FILE * OUT, asn1_node_const STRUCTURE, const char * NAME, int MODE) OUT: pointer to the output file (e.g. stdout). @@ -582,8 +598,8 @@ asn1_print_structure asn1_number_of_elements ----------------------- - -- Function: int asn1_number_of_elements (asn1_node ELEMENT, const char - * NAME, int * NUM) + -- Function: int asn1_number_of_elements (asn1_node_const ELEMENT, + const char * NAME, int * NUM) ELEMENT: pointer to the root of an ASN1 structure. NAME: the name of a sub-structure of ROOT. @@ -600,7 +616,7 @@ asn1_number_of_elements asn1_find_structure_from_oid ---------------------------- - -- Function: const char * asn1_find_structure_from_oid (asn1_node + -- Function: const char * asn1_find_structure_from_oid (asn1_node_const DEFINITIONS, const char * OIDVALUE) DEFINITIONS: ASN1 definitions @@ -616,7 +632,7 @@ asn1_copy_node -------------- -- Function: int asn1_copy_node (asn1_node DST, const char * DST_NAME, - asn1_node SRC, const char * SRC_NAME) + asn1_node_const SRC, const char * SRC_NAME) DST: Destination asn1 node. DST_NAME: Field name in destination node. @@ -633,7 +649,7 @@ asn1_copy_node asn1_dup_node ------------- - -- Function: asn1_node asn1_dup_node (asn1_node SRC, const char * + -- Function: asn1_node asn1_dup_node (asn1_node_const SRC, const char * SRC_NAME) SRC: Source asn1 node. @@ -757,8 +773,8 @@ asn1_write_value asn1_read_value --------------- - -- Function: int asn1_read_value (asn1_node ROOT, const char * NAME, - void * IVALUE, int * LEN) + -- Function: int asn1_read_value (asn1_node_const ROOT, const char * + NAME, void * IVALUE, int * LEN) ROOT: pointer to a structure. NAME: the name of the element inside a structure that you want to @@ -831,8 +847,8 @@ asn1_read_value asn1_read_value_type -------------------- - -- Function: int asn1_read_value_type (asn1_node ROOT, const char * - NAME, void * IVALUE, int * LEN, unsigned int * ETYPE) + -- Function: int asn1_read_value_type (asn1_node_const ROOT, const char + * NAME, void * IVALUE, int * LEN, unsigned int * ETYPE) ROOT: pointer to a structure. NAME: the name of the element inside a structure that you want to @@ -907,8 +923,8 @@ asn1_read_value_type asn1_read_tag ------------- - -- Function: int asn1_read_tag (asn1_node ROOT, const char * NAME, int - * TAGVALUE, int * CLASSVALUE) + -- Function: int asn1_read_tag (asn1_node_const ROOT, const char * + NAME, int * TAGVALUE, int * CLASSVALUE) ROOT: pointer to a structure NAME: the name of the element inside a structure. @@ -928,7 +944,7 @@ asn1_read_tag asn1_read_node_value -------------------- - -- Function: int asn1_read_node_value (asn1_node NODE, + -- Function: int asn1_read_node_value (asn1_node_const NODE, asn1_data_node_st * DATA) NODE: pointer to a node. @@ -1013,6 +1029,26 @@ asn1_encode_simple_der *Returns:* 'ASN1_SUCCESS' if successful or an error value. +asn1_object_id_der +------------------ + + -- Function: int asn1_object_id_der (const char * STR, unsigned char * + DER, int * DER_LEN, unsigned FLAGS) + STR: An object identifier in numeric, dot format. + + DER: buffer to hold the returned encoding (may be 'NULL' ). + + DER_LEN: initially the size of 'der' ; will hold the final size. + + FLAGS: must be zero + + Creates the DER encoding of the provided object identifier. + + *Returns:* 'ASN1_SUCCESS' if DER encoding was OK, + 'ASN1_VALUE_NOT_VALID' if 'str' is not a valid OID, + 'ASN1_MEM_ERROR' if the 'der' vector isn't big enough and in this + case 'der_len' will contain the length needed. + asn1_bit_der ------------ @@ -1041,8 +1077,8 @@ asn1_bit_der asn1_der_coding --------------- - -- Function: int asn1_der_coding (asn1_node ELEMENT, const char * NAME, - void * IDER, int * LEN, char * ERRORDESCRIPTION) + -- Function: int asn1_der_coding (asn1_node_const ELEMENT, const char * + NAME, void * IDER, int * LEN, char * ERRORDESCRIPTION) ELEMENT: pointer to an ASN1 element NAME: the name of the structure you want to encode (it must be @@ -1329,8 +1365,8 @@ asn1_der_decoding_startEnd asn1_expand_any_defined_by -------------------------- - -- Function: int asn1_expand_any_defined_by (asn1_node DEFINITIONS, - asn1_node * ELEMENT) + -- Function: int asn1_expand_any_defined_by (asn1_node_const + DEFINITIONS, asn1_node * ELEMENT) DEFINITIONS: ASN1 definitions ELEMENT: pointer to an ASN1 structure @@ -1349,7 +1385,7 @@ asn1_expand_any_defined_by asn1_expand_octet_string ------------------------ - -- Function: int asn1_expand_octet_string (asn1_node DEFINITIONS, + -- Function: int asn1_expand_octet_string (asn1_node_const DEFINITIONS, asn1_node * ELEMENT, const char * OCTETNAME, const char * OBJECTNAME) DEFINITIONS: ASN1 definitions @@ -1459,8 +1495,8 @@ File: libtasn1.info, Node: Auxilliary functions, Prev: Error handling function asn1_find_node -------------- - -- Function: asn1_node asn1_find_node (asn1_node POINTER, const char * - NAME) + -- Function: asn1_node asn1_find_node (asn1_node_const POINTER, const + char * NAME) POINTER: NODE_ASN element pointer. NAME: null terminated string with the element's name to find. @@ -2015,44 +2051,45 @@ Function and Data Index * asn1_array2tree: ASN.1 field functions. (line 9) -* asn1_bit_der: DER functions. (line 77) +* asn1_bit_der: DER functions. (line 97) * asn1_check_version: Auxilliary functions. (line 26) * asn1_copy_node: ASN.1 field functions. (line 144) * asn1_create_element: ASN.1 field functions. (line 72) -* asn1_decode_simple_ber: DER functions. (line 457) -* asn1_decode_simple_der: DER functions. (line 436) +* asn1_decode_simple_ber: DER functions. (line 477) +* asn1_decode_simple_der: DER functions. (line 456) * asn1_delete_element: ASN.1 field functions. (line 57) * asn1_delete_structure: ASN.1 field functions. (line 30) * asn1_delete_structure2: ASN.1 field functions. (line 42) -* asn1_der_coding: DER functions. (line 102) -* asn1_der_decoding: DER functions. (line 290) -* asn1_der_decoding2: DER functions. (line 254) -* asn1_der_decoding_element: DER functions. (line 317) -* asn1_der_decoding_startEnd: DER functions. (line 350) +* asn1_der_coding: DER functions. (line 122) +* asn1_der_decoding: DER functions. (line 310) +* asn1_der_decoding2: DER functions. (line 274) +* asn1_der_decoding_element: DER functions. (line 337) +* asn1_der_decoding_startEnd: DER functions. (line 370) * asn1_dup_node: ASN.1 field functions. (line 162) * asn1_encode_simple_der: DER functions. (line 51) -* asn1_expand_any_defined_by: DER functions. (line 390) -* asn1_expand_octet_string: DER functions. (line 410) +* asn1_expand_any_defined_by: DER functions. (line 410) +* asn1_expand_octet_string: DER functions. (line 430) * asn1_find_node: Auxilliary functions. (line 9) * asn1_find_structure_from_oid: ASN.1 field functions. (line 129) -* asn1_get_bit_der: DER functions. (line 232) -* asn1_get_length_ber: DER functions. (line 166) -* asn1_get_length_der: DER functions. (line 130) -* asn1_get_object_id_der: DER functions. (line 212) -* asn1_get_octet_der: DER functions. (line 186) -* asn1_get_tag_der: DER functions. (line 147) +* asn1_get_bit_der: DER functions. (line 252) +* asn1_get_length_ber: DER functions. (line 186) +* asn1_get_length_der: DER functions. (line 150) +* asn1_get_object_id_der: DER functions. (line 232) +* asn1_get_octet_der: DER functions. (line 206) +* asn1_get_tag_der: DER functions. (line 167) * asn1_length_der: DER functions. (line 9) * asn1_number_of_elements: ASN.1 field functions. (line 111) +* asn1_object_id_der: DER functions. (line 77) * asn1_octet_der: DER functions. (line 27) * asn1_parser2array: ASN.1 schema functions. (line 35) @@ -2078,67 +2115,73 @@ Function and Data Index Tag Table: -Node: Top863 -Node: Introduction1855 -Node: ASN.1 structure handling3224 -Node: ASN.1 syntax3483 -Node: Naming5071 -Node: Simple parsing6052 -Node: Library Notes6379 -Node: Future developments7161 -Node: Utilities7460 -Node: Invoking asn1Parser7680 -Node: Invoking asn1Coding8142 -Node: Invoking asn1Decoding9879 -Node: Function reference10634 -Node: ASN.1 schema functions10918 -Ref: asn1_parser2tree11117 -Ref: asn1_parser2array12169 -Node: ASN.1 field functions13488 -Ref: asn1_array2tree13705 -Ref: asn1_delete_structure14557 -Ref: asn1_delete_structure214931 -Ref: asn1_delete_element15386 -Ref: asn1_create_element15858 -Ref: asn1_print_structure16512 -Ref: asn1_number_of_elements17141 -Ref: asn1_find_structure_from_oid17736 -Ref: asn1_copy_node18214 -Ref: asn1_dup_node18700 -Ref: asn1_write_value19060 -Ref: asn1_read_value23094 -Ref: asn1_read_value_type26027 -Ref: asn1_read_tag29035 -Ref: asn1_read_node_value29742 -Node: DER functions30088 -Ref: asn1_length_der30291 -Ref: asn1_octet_der30877 -Ref: asn1_encode_simple_der31685 -Ref: asn1_bit_der32515 -Ref: asn1_der_coding33306 -Ref: asn1_get_length_der34329 -Ref: asn1_get_tag_der34869 -Ref: asn1_get_length_ber35431 -Ref: asn1_get_octet_der36024 -Ref: asn1_get_object_id_der36883 -Ref: asn1_get_bit_der37552 -Ref: asn1_der_decoding238225 -Ref: asn1_der_decoding39623 -Ref: asn1_der_decoding_element40562 -Ref: asn1_der_decoding_startEnd41869 -Ref: asn1_expand_any_defined_by43321 -Ref: asn1_expand_octet_string44126 -Ref: asn1_decode_simple_der45127 -Ref: asn1_decode_simple_ber45769 -Node: Error handling functions46470 -Ref: asn1_perror46686 -Ref: asn1_strerror47027 -Node: Auxilliary functions47438 -Ref: asn1_find_node47630 -Ref: asn1_check_version48225 -Node: Copying Information48824 -Node: GNU Free Documentation License49077 -Node: Concept Index74192 -Node: Function and Data Index75298 +Node: Top866 +Node: Introduction1861 +Node: ASN.1 structure handling3230 +Node: ASN.1 syntax3489 +Node: Naming5077 +Node: Simple parsing6058 +Node: Library Notes6385 +Node: Future developments7167 +Node: Utilities7466 +Node: Invoking asn1Parser7686 +Node: Invoking asn1Coding8552 +Node: Invoking asn1Decoding10627 +Node: Function reference11759 +Node: ASN.1 schema functions12043 +Ref: asn1_parser2tree12242 +Ref: asn1_parser2array13293 +Node: ASN.1 field functions14611 +Ref: asn1_array2tree14828 +Ref: asn1_delete_structure15680 +Ref: asn1_delete_structure216054 +Ref: asn1_delete_element16517 +Ref: asn1_create_element16989 +Ref: asn1_print_structure17649 +Ref: asn1_number_of_elements18284 +Ref: asn1_find_structure_from_oid18885 +Ref: asn1_copy_node19369 +Ref: asn1_dup_node19861 +Ref: asn1_write_value20227 +Ref: asn1_read_value24261 +Ref: asn1_read_value_type27200 +Ref: asn1_read_tag30214 +Ref: asn1_read_node_value30927 +Node: DER functions31279 +Ref: asn1_length_der31482 +Ref: asn1_octet_der32068 +Ref: asn1_encode_simple_der32876 +Ref: asn1_object_id_der33718 +Ref: asn1_bit_der34384 +Ref: asn1_der_coding35175 +Ref: asn1_get_length_der36204 +Ref: asn1_get_tag_der36744 +Ref: asn1_get_length_ber37306 +Ref: asn1_get_octet_der37899 +Ref: asn1_get_object_id_der38758 +Ref: asn1_get_bit_der39427 +Ref: asn1_der_decoding240100 +Ref: asn1_der_decoding41498 +Ref: asn1_der_decoding_element42437 +Ref: asn1_der_decoding_startEnd43744 +Ref: asn1_expand_any_defined_by45196 +Ref: asn1_expand_octet_string46007 +Ref: asn1_decode_simple_der47014 +Ref: asn1_decode_simple_ber47656 +Node: Error handling functions48357 +Ref: asn1_perror48573 +Ref: asn1_strerror48914 +Node: Auxilliary functions49325 +Ref: asn1_find_node49517 +Ref: asn1_check_version50118 +Node: Copying Information50717 +Node: GNU Free Documentation License50970 +Node: Concept Index76085 +Node: Function and Data Index77191 End Tag Table + + +Local Variables: +coding: utf-8 +End: |