asn1_der_decoding2 man page

asn1_der_decoding2 — API function


#include <libtasn1.h>

int asn1_der_decoding2(asn1_node * element, const void * ider, int * max_ider_len, unsigned int flags, char * errorDescription);


asn1_node * element
pointer to an ASN1 structure.
const void * ider
vector that contains the DER encoding.
int * max_ider_len
pointer to an integer giving the information about the maximal number of bytes occupied by * ider . The real size of the DER encoding is returned through this pointer.
unsigned int flags
flags controlling the behaviour of the function.
char * errorDescription
null-terminated string contains details when an error occurred.


Fill the structure * element with values of a DER encoding string. The structure must just be created with function asn1_create_element().

If ASN1_DECODE_FLAG_ALLOW_PADDING flag is set then the function will ignore padding after the decoded DER data. Upon a successful return the value of * max_ider_len will be set to the number of bytes decoded.

If ASN1_DECODE_FLAG_STRICT_DER flag is set then the function will not decode any BER-encoded elements.


ASN1_SUCCESS if DER encoding OK, ASN1_ELEMENT_NOT_FOUND if ELEMENT is NULL, and ASN1_TAG_ERROR or ASN1_DER_ERROR if the der encoding doesn't match the structure name (* ELEMENT deleted).

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: