X509_GET_SERIALNUMBER(3ossl)
πΈ 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(), andX509_ACERT_get0_serialNumber()return a pointer to anASN1_INTEGERstructure. πX509_set_serialNumber()andX509_ACERT_set1_serialNumber()return1for success and0for failure. β π
π¦ SEE ALSO π¦
d2i_X509(3)ERR_get_error(3)X509_CRL_get0_by_serial(3)X509_get0_signature(3)X509_get_ext_d2i(3)X509_get_extension_flags(3)X509_get_pubkey(3)X509_get_subject_name(3)X509_NAME_add_entry_by_txt(3)X509_NAME_ENTRY_get_object(3)X509_NAME_get_index_by_NID(3)X509_NAME_print_ex(3)X509_new(3)X509_sign(3)X509V3_get_d2i(3)X509_verify_cert(3)
π HISTORY π
- The
X509_get_serialNumber()andX509_set_serialNumber()functions are available in all versions of OpenSSL. π - The
X509_get0_serialNumber()function was added in OpenSSL1.1.0. β¨ - The
X509_ACERT_get0_serialNumber()andX509_ACERT_set1_serialNumber()functions were added in OpenSSL3.4. π¦
π COPYRIGHT π
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
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms