asn1\_der\_decoding2(3) libtasn1 asn1\_der\_decoding2(3)

# [NAME](#NAME)

asn1\_der\_decoding2 - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;libtasn1.h&gt;**

**int asn1\_der\_decoding2(asn1\_node * element, const void * ider, int * max\_ider\_len, unsigned int flags, char * errorDescription);**

# [ARGUMENTS](#ARGUMENTS)

[asn1\_node * element](#asn1_node)

pointer to an ASN1 structure.

[const void * ider](#const)

vector that contains the DER encoding.

[int * max\_ider\_len](#int)

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](#unsigned)

flags controlling the behaviour of the function.

[char * errorDescription](#char)

null-terminated string contains details when an error occurred.

# [DESCRIPTION](#DESCRIPTION)

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

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2006-2025 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.

# [SEE ALSO](#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:

**https://www.gnu.org/software/libtasn1/manual/**

4.21.0 libtasn1

---

Document: asn1_der_decoding2(3) from libtasn1 4.21.0-r8 (Chainguard OS)
Source: https://gitlab.com/gnutls/libtasn1
