X509_get_serialNumber.3ssl man page

X509_get_serialNumber, X509_get0_serialNumber, X509_set_serialNumber — get or set certificate serial number


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


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() is the same as X509_get_serialNumber() except it accepts a const parameter and returns a const 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 an ASN1_INTEGER structure.

X509_set_serialNumber() returns 1 for success and 0 for 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)


X509_get_serialNumber() and X509_set_serialNumber() are available in all versions of OpenSSL. X509_get0_serialNumber() was added in OpenSSL 1.1.0.


Explore man page connections for X509_get_serialNumber.3ssl(3).