asn1_der_decoding_startEnd - Man Page

API function


#include <libtasn1.h>

int asn1_der_decoding_startEnd(asn1_node element, const void * ider, int ider_len, const char * name_element, int * start, int * end);


asn1_node element

pointer to an ASN1 element

const void * ider

vector that contains the DER encoding.

int ider_len

number of bytes of * ider :  ider [0].. ider [len-1]

const char * name_element

an element of NAME structure.

int * start

the position of the first byte of NAME_ELEMENT decoding ( ider [*start])

int * end

the position of the last byte of NAME_ELEMENT decoding ( ider [*end])


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 asn1_der_decoding() 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  ider and  ider_len parameters can be omitted, if the element is already decoded using asn1_der_decoding().


ASN1_SUCCESS if DER encoding OK, ASN1_ELEMENT_NOT_FOUND if ELEMENT is asn1_node EMPTY or  name_element is not a valid element, ASN1_TAG_ERROR or ASN1_DER_ERROR if the der encoding doesn't match the structure ELEMENT.

See Also

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

info libtasn1

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


4.19.0 libtasn1