asn1_der_decoding_startEnd(3) API function


#include <libtasn1.h>

asn1_retCode asn1_der_decoding_startEnd(ASN1_TYPE element, const void * ider, int len, const char * name_element, int * start, int * end);


ASN1_TYPE element
pointer to an ASN1 element
const void * ider
vector that contains the DER encoding.
int 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.


ASN1_SUCCESS if DER encoding OK, ASN1_ELEMENT_NOT_FOUND if ELEMENT is ASN1_TYPE 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 © 2006-2011 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.