---
name: "asn1_der_decoding2"
section: "3"
platform: "linux"
package: "libtasn1"
version: "4.21.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/asn1_der_decoding2"
---

# asn1\_der\_decoding2(3)

API function

## NAME

asn1\_der\_decoding2 - API function

## SYNOPSIS

**#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.

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

**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 © 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

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/**
