X509_GET_SERIALNUMBER(3ossl)
πΈ 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()andX509_ACERT_get0_serialNumber()return a pointer to anASN1_INTEGERstructure πX509_set_serialNumber()andX509_ACERT_set1_serialNumber()return1for success and0for failure. simple as that, no cap π―
π SEE ALSO π
go read these next, bestie, the lore is deep:
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 π§
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 π
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
- freebsd 15.1: base 15.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms