X509_GET_SERIALNUMBER(3)

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

✨ NAME ✨

okay so bestie, welcome to the X509_GET_SERIALNUMBER(3) page from the Library Functions Manual πŸ’– This is all about X509_get_serialNumber, X509_get0_serialNumber, and X509_set_serialNumber β€” literally the get-or-set certificate serial number squad. No cap. πŸŽ€


🌸 SYNOPSIS 🌸

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

ASN1_INTEGER *
X509_get_serialNumber(X509 *x);

const ASN1_INTEGER *
X509_get0_serialNumber(const X509 *x);

int
X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial);

πŸ¦‹ DESCRIPTION πŸ¦‹

  • X509_get_serialNumber() β€” hands you the serial number of certificate x as an ASN1_INTEGER structure that can be examined or initialised, bestie. The value returned is an internal pointer which must not be freed up after the call β€” it’s not yours to yeet. 😭
  • X509_get0_serialNumber() β€” does the same thing, except it accepts a constant argument and returns a constant result. Const-correct icon behavior. ✨
  • X509_set_serialNumber() β€” sets the serial number of certificate x to serial. A copy of the serial number is used internally, so serial should be freed up after use β€” yes, after, not during, iykyk. πŸ’…

πŸ”₯ RETURN VALUES πŸ”₯

X509_get_serialNumber() and X509_get0_serialNumber() return a pointer to an ASN1_INTEGER structure. Slay. ✨

X509_set_serialNumber() returns 1 for success or 0 for failure. In some cases of failure, the reason can be determined with ERR_get_error(3). That’s your little detective moment. πŸ”₯


🫢 SEE ALSO 🫢


πŸ‘‘ HISTORY πŸ‘‘

X509_get_serialNumber() and X509_set_serialNumber() first appeared in SSLeay 0.6.5 and have been available since OpenBSD 2.4. OG status. πŸ’€

X509_get0_serialNumber() first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 6.4. A newer icon. 🌈


mwah πŸ’– this page is from Debian, dated June 8, 2025 β€” X509_GET_SERIALNUMBER(3) says bye bestie, go forth and serialize responsibly. periodt. πŸŽ€

πŸ“¦ where this page comes from