asn1\_decode\_simple\_ber(3) libtasn1 asn1\_decode\_simple\_ber(3)

# [NAME](#NAME)

asn1\_decode\_simple\_ber - API function

# [SYNOPSIS](#SYNOPSIS)

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

**int asn1\_decode\_simple\_ber(unsigned int etype, const unsigned char * der, unsigned int \_der\_len, unsigned char \** str, unsigned int * str\_len, unsigned int * ber\_len);**

# [ARGUMENTS](#ARGUMENTS)

[unsigned int etype](#unsigned)

The type of the string to be encoded (ASN1\_ETYPE\_)

[const unsigned char * der](#const)

the encoded string

[unsigned int \_der\_len](#unsigned~2)

the bytes of the encoded string

[unsigned char \** str](#unsigned~3)

a pointer to the data

[unsigned int * str\_len](#unsigned~4)

the length of the data

[unsigned int * ber\_len](#unsigned~5)

the total length occupied by BER (may be **NULL**)

# [DESCRIPTION](#DESCRIPTION)

Decodes a BER encoded type. The output is an allocated value of the data. This decodes BER STRINGS only. Other types are decoded as DER.

# [RETURNS](#RETURNS)

**ASN1\_SUCCESS** if successful or an error value.

# [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_decode_simple_ber(3) from libtasn1 4.21.0-r9 (Chainguard OS)
Source: https://gitlab.com/gnutls/libtasn1
