SYNOPSIS

#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);

ARGUMENTS

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])

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 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().

RETURNS

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.

COPYRIGHT

Copyright © 2006-2013 Free Software Foundation, Inc..

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

RELATED TO asn1_der_decoding_startEnd…

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

  • info libtasn1

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

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