libressl-X509_get_serialNumber(3)

libressl-X509_get_serialNumber3

Get or set certificate serial number

Usage

Crypto Library (libcrypto, -lcrypto)

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

Overview

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.

X509_get0_serialNumber() does the same except that it accepts a constant argument and returns a constant result.

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.

Return values

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

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).

History

X509_get_serialNumber() and X509_set_serialNumber() first appeared in SSLeay 0.6.5 and have been available since OpenBSD 2.4.

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

From libressl 4.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.