---
name: "asn1_der_decoding_startEnd"
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_decoding_startEnd"
---

# asn1\_der\_decoding\_startEnd(3)

API function

## NAME

asn1\_der\_decoding\_startEnd - API function

## SYNOPSIS

**#include \<libtasn1.h\>**

**int asn1\_der\_decoding\_startEnd(asn1\_node** *element***, const void \*** *ider***, int** *ider\_len***, const char \*** *name\_element***, int \*** *start***, int \*** *end***);**

## ARGUMENTS

- asn1\_node element

  pointer to an ASN1 element

- const void \* ider

  vector that contains the DER encoding.

- int ider\_len

  number of bytes of \* *ider* :  *ider* \[0\].. *ider* \[len-1\]

- const char \* name\_element

  an element of NAME structure.

- int \* start

  the position of the first byte of NAME\_ELEMENT decoding ( *ider* \[\*start\])

- int \* end

  the position of the last byte of NAME\_ELEMENT decoding ( *ider* \[\*end\])

## DESCRIPTION

Find the start and end point of an element in a DER encoding string. I mean that if you have a der encoding and you have already used the function **asn1\_der\_decoding()** to fill a structure, it may happen that you want to find the piece of string concerning an element of the structure.

One example is the sequence "tbsCertificate" inside an X509 certificate.

Note that since libtasn1 3.7 the  *ider* and  *ider\_len* parameters can be omitted, if the element is already decoded using **asn1\_der\_decoding()**.

## RETURNS

**ASN1\_SUCCESS** if DER encoding OK, **ASN1\_ELEMENT\_NOT\_FOUND** if ELEMENT is **asn1\_node** EMPTY or  *name\_element* is not a valid element, **ASN1\_TAG\_ERROR** or **ASN1\_DER\_ERROR** if the der encoding doesn't match the structure ELEMENT.

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