X509_GET_SERIALNUMBER(3ossl)

πŸ“¦ version 15.1, in freebsd 15.1

🌸 NAME 🌸

okay so this is the 3ossl manual page for the serial-number squad, and their whole thing is: get or set certificate serial number ✨

Meet the lineup: X509_get_serialNumber, X509_get0_serialNumber, X509_set_serialNumber, X509_ACERT_get0_serialNumber, X509_ACERT_set1_serialNumber πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#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);

#include <openssl/x509_acert.h>

ASN1_INTEGER *X509_ACERT_get0_serialNumber(X509_ACERT *x);
int X509_ACERT_set1_serialNumber(X509_ACERT *x, ASN1_INTEGER *serial);

πŸ¦‹ DESCRIPTION πŸ¦‹

X509_get_serialNumber() gives you the serial number of certificate x as an ASN1_INTEGER structure, and bestie, that structure can be examined or initialised πŸ‘€

🚨 The value it returns is an internal pointer, and it MUST NOT be freed up after the call. like, do not touch that free button, i'm begging 😭

X509_get0_serialNumber() is literally the same as X509_get_serialNumber() except it accepts a const parameter and returns a const result. const girlie behavior, we love to see it ✨

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 🫢

X509_ACERT_get0_serialNumber() performs the same operation as X509_get_serialNumber() for attribute certificates πŸ’–

X509_ACERT_set1_serialNumber() performs the same operation as X509_set_serialNumber() for attribute certificates πŸ’–


⭐ RETURN VALUES ⭐

  • X509_get_serialNumber(), X509_get0_serialNumber() and X509_ACERT_get0_serialNumber() return a pointer to an ASN1_INTEGER structure πŸ‘‘
  • X509_set_serialNumber() and X509_ACERT_set1_serialNumber() return 1 for success and 0 for failure. simple as that, no cap πŸ’―

🌈 SEE ALSO 🌈

go read these next, bestie, the lore is deep:


🧚 HISTORY 🧚

X509_get_serialNumber() and X509_set_serialNumber() are available in all versions of OpenSSL. iconic longevity behavior πŸ‘‘

X509_get0_serialNumber() was added in OpenSSL 1.1.0 ✨

X509_ACERT_get0_serialNumber() and X509_ACERT_set1_serialNumber() were added in OpenSSL 3.4 πŸ’œ


Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


okay bye bestie β€” this page is serving source/version 3.5.6, dated 2026-04-07 πŸ’–

πŸ“¦ where this page comes from