asn1_der_decoding_startEnd(3)
π asn1_der_decoding_startEnd β bestie edition
okay so you're here for asn1_der_decoding_startEnd, which is a libtasn1 API function, and honestly? it's giving "where exactly in this DER blob does my thing live". come sit, i got you π
β¨ NAME β¨
asn1_der_decoding_startEnd β it's an API function, that's the whole vibe π«Ά
πΈ 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. literally just a pointer, that's it.const void * iderβ the vector that contains the DER encoding.int ider_lenβ how many bytes live in*ider: that'sider[0]..ider[len-1], no more no less.const char * name_elementβ an element of the NAME structure.int * startβ the position of the first byte ofNAME_ELEMENTdecoding, akaider[*start].int * endβ the position of the last byte ofNAME_ELEMENTdecoding, akaider[*end].
π¦ DESCRIPTION π¦
So the whole point: find the start and end point of an element inside a DER encoding string. like, imagine you've got a DER encoding and you've already used asn1_der_decoding() to fill up a structure β and now you're sitting there like "hmm, i want the actual piece of string that concerns one specific element of that structure". that's the job. that's the assignment. π
classic example? the sequence "tbsCertificate" inside an X509 certificate. iconic behavior, honestly.
β¨ note: since libtasn1 3.7, theiderandider_lenparameters can be omitted if the element is already decoded usingasn1_der_decoding(). so you don't have to pass them anymore in that case. slay.
β RETURNS β
ASN1_SUCCESSβ DER encoding OK, we ate, we devoured πASN1_ELEMENT_NOT_FOUNDβELEMENTisasn1_nodeEMPTY, orname_elementis not a valid element πASN1_TAG_ERRORβ der encoding doesn't match the structureELEMENTASN1_DER_ERRORβ also when the der encoding doesn't match the structureELEMENT
π 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/
okay bestie that's the whole page, no cap, every single detail intact π
β¨ this was asn1_der_decoding_startEnd(3) from libtasn1, version 4.21.0 β and yes she's still that girl. bye, go decode something iconic ππ¦π
π¦ where this page comes from
- alpine 3.22: libtasn1-doc 4.21.0-r0 Β· LGPL-2.1-or-later
- alpine 3.23: libtasn1-doc 4.21.0-r0 Β· LGPL-2.1-or-later
- alpine 3.24: libtasn1-doc 4.21.0-r0 Β· LGPL-2.1-or-later
- arch rolling: libtasn1 4.21.0-1 Β· GPL-3.0-or-later AND LGPL-2.1-or-later AND GFDL-1.3-or-later
- fedora 43: libtasn1-devel 4.21.0-1.fc43 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 43: libtasn1-devel 4.21.0-1.fc43 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 44: libtasn1-devel 4.21.0-1.fc44 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 44: libtasn1-devel 4.21.0-1.fc44 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libtasn1-devel 4.21.0-160000.1.1 Β· GFDL-1.3-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libtasn1-devel 4.21.0-160000.1.1 Β· GFDL-1.3-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libtasn1-devel 4.21.0-160000.1.1 Β· GFDL-1.3-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libtasn1-devel 4.21.0-160000.1.1 Β· GFDL-1.3-or-later AND LGPL-2.1-or-later
- ubuntu resolute: libtasn1-6-dev 4.21.0-2
- ubuntu stonking: libtasn1-6-dev 4.21.0-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms