asn1_der_decoding23
Api function
Usage
#include <libtasn1.h>
int asn1_der_decoding2(asn1_node * element, const void * ider, int * max_ider_len, unsigned int flags, char * errorDescription);
Arguments
- 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.
Overview
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.
Returns
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).
Releases
7 releases since Debian 8 (Jessie); the text changed 5 times.