asn1\_encode\_simple\_der(3) libtasn1 asn1\_encode\_simple\_der(3)

# [NAME](#NAME)

asn1\_encode\_simple\_der - API function

# [SYNOPSIS](#SYNOPSIS)

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

**int asn1\_encode\_simple\_der(unsigned int etype, const unsigned char * str, unsigned int str\_len, unsigned char * tl, unsigned int * tl\_len);**

# [ARGUMENTS](#ARGUMENTS)

[unsigned int etype](#unsigned)

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

[const unsigned char * str](#const)

the string data.

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

the string length

[unsigned char * tl](#unsigned~3)

the encoded tag and length

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

the bytes of the *tl* field

# [DESCRIPTION](#DESCRIPTION)

Creates the DER encoding for various simple ASN.1 types like strings etc. It stores the tag and length in *tl* , which should have space for at least **ASN1\_MAX\_TL\_SIZE** bytes. Initially *tl\_len* should contain the size of *tl* .

The complete DER encoding should consist of the value in *tl* appended with the provided *str* .

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