X509_GET_SERIALNUMBER(3ossl)

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

🌸 NAME 🌸

okay bestie, welcome to X509_GET_SERIALNUMBER(3ossl) β€” the OpenSSL manual page that's literally all about getting or setting certificate serial numbers. πŸ’…

It covers X509_get_serialNumber, X509_get0_serialNumber, X509_set_serialNumber, X509_ACERT_get0_serialNumber, and X509_ACERT_set1_serialNumber. Slay.


✨ 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() returns the serial number of certificate x as an ASN1_INTEGER structure which can be examined or initialised. The value returned is an internal pointer which MUST NOT be freed up after the call. 🚨

bestie, this is the important part: it's an internal pointer. Do not free it after the call. Not even a little. That's the rule. 🫢

X509_get0_serialNumber() is the same as X509_get_serialNumber() except it accepts a const parameter and returns a const result. cute and const-safe. ✨

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. βœ…πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹


🌈 HISTORY 🌈

  • The X509_get_serialNumber() and X509_set_serialNumber() functions are available in all versions of OpenSSL. πŸ‘‘
  • The X509_get0_serialNumber() function was added in OpenSSL 1.1.0. ✨
  • The X509_ACERT_get0_serialNumber() and X509_ACERT_set1_serialNumber() functions 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>.


sending kisses from OpenSSL 3.5.0, dated 2026-09-25 β€” that's the X509_GET_SERIALNUMBER(3ossl) manual page, and we're literally done πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from