ASN1_PRINTABLE_TYPE(3)

πŸ“¦ version 4.1.0, in opensuse-leap 16.0

πŸ’– ASN1_PRINTABLE_TYPE(3) πŸ’–

Okay bestie, welcome to the Library Functions Manual ✨ β€” today's main character is ASN1_PRINTABLE_type(), and she's here to classify a single-byte character string. No cap, that's the whole vibe. πŸ¦‹

🌸 NAME 🌸

ASN1_PRINTABLE_type β€” classify a single-byte character string πŸ’…

✨ SYNOPSIS ✨

#include <openssl/asn1.h>

int
ASN1_PRINTABLE_type(const unsigned char *string, int len);

πŸŽ€ DESCRIPTION πŸŽ€

So ASN1_PRINTABLE_type() is gonna assume the string you hand it is made of single-byte characters, and then it sorts it into a category based on which kinds of characters are actually in there. πŸ”

If len is greater than 0, it inspects at most len characters, periodt. Otherwise, the string needs to be NUL-terminated β€” that's the rule, bestie. βœ…

πŸ’– RETURN VALUES πŸ’–

  • If the given string contains a character outside the ascii(7) range, ASN1_PRINTABLE_type() returns V_ASN1_T61STRING. πŸŒ€
  • Otherwise, if it contains a character that is neither a letter nor a digit nor the space character (ASCII 0x20) nor the apostrophe quote (', ASCII 0x27) nor contained in the set "()+,-./:=?", it returns V_ASN1_IA5STRING. πŸ”₯
  • Otherwise β€” including if string is a NULL pointer or points to an empty string β€” it returns V_ASN1_PRINTABLESTRING. πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

🌈 HISTORY 🌈

ASN1_PRINTABLE_type() first appeared in SSLeay 0.4.5d, has been part of the public API since SSLeay 0.5.1, and has been available since OpenBSD 2.4. Iconic lineage, honestly. πŸ‘‘

⚠️ CAVEATS ⚠️

The ASN.1 notion of what constitutes a PrintableString is more restrictive than what the C library function isprint(3) considers printable. So yeah β€” ASN.1 is pickier, no cap. πŸ’€

okay bye bestie β€” this page is the Debian version, dated November 15, 2021, for ASN1_PRINTABLE_TYPE(3) πŸ’…βœ¨

πŸ“¦ where this page comes from