A2D_ASN1_OBJECT(3)

πŸ“¦ version 4.4.0, in alpine 3.24, arch rolling

πŸ’– NAME πŸ’–

a2d_ASN1_OBJECT β€” DER content octets of an ASN.1 object identifier. Yup bestie, you’re reading the manual page for A2D_ASN1_OBJECT(3).


✨ SYNOPSIS ✨

This one comes from the libcrypto library, and the synopsis is literally:

library β€œlibcrypto” #include <openssl/asn1.h>

int
a2d_ASN1_OBJECT(unsigned char *der_out, int olen, const char *val_in,
    int ilen);

🌸 DESCRIPTION 🌸

okay so a2d_ASN1_OBJECT() is the little encoder bestie. It accepts an ASCII string val_in of ilen bytes and interprets it as the numerical form of an ASN.1 object identifier. Slay.

Then it writes the content octets of the DER encoding of the object identifier to the buffer der_out, which is olen bytes long. πŸ’…

🚨 Important: the identifier and length octets of the DER encoding are not written. Just the content octets, iykyk.

If ilen is -1, the strlen(3) of val_in is used instead. Lowkey handy.

If der_out is a NULL pointer, writing the content octets is skipped and only the return value is calculated. No actual writing, just return-value vibes.


πŸŽ€ RETURN VALUES πŸŽ€

a2d_ASN1_OBJECT() returns the number of content octets that were or would be written, or 0 if any of these happen:

  • ilen is 0
  • val_in is not a valid representation of an object identifier
  • memory allocation fails
  • the number of content octets would be larger than olen

That 0 is giving β€œnope, not today” energy πŸ’€ β€” check all the conditions, bestie.


πŸ¦‹ SEE ALSO πŸ¦‹

Go peek at:


πŸ‘‘ STANDARDS πŸ‘‘

This page points at ITU-T Recommendation X.690, also known as ISO/IEC 8825-1: Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER), section 8.19: Encoding of an object identifier value. Iconic standards behavior, no cap. ✨


πŸ’œ HISTORY πŸ’œ

a2d_ASN1_OBJECT() first appeared in SSLeay 0.8.0 and has been available since OpenBSD 2.4. That’s a long glow-up, fr fr. 🌈


mwah πŸ’‹ β€” footer vibes: Debian, June 8, 2025, A2D_ASN1_OBJECT(3). Bye bestie, go encode something cute 🫢

πŸ“¦ where this page comes from