X509_GET0_UIDS(3ossl)
π X509_GET0_UIDS(3ossl) π
okay so bestie, real talk: we're deep in the OpenSSL corner of the man pages, section 3ossl, and today's main character is a tiny little page about unique identifiers in certificates and attribute certificates. yes, that kind of unique identifier. no, not a UUID. sit down, I'll explain. π
β¨ NAME β¨
X509_get0_uids, X509_ACERT_get0_issuerUID β get certificate and attribute certificate unique identifiers
π¦ SYNOPSIS π¦
#include <openssl/x509.h>
void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid,
const ASN1_BIT_STRING **psuid);
#include <openssl/x509_acert.h>
ASN1_BIT_STRING *X509_ACERT_get0_issuerUID(X509_ACERT *x);
=head1 DESCRIPTION
so yeah, two different headers depending on which one you're calling β openssl/x509.h for the classic cert one, openssl/x509_acert.h for the attribute-certificate one. and yes, that trailing =head1 DESCRIPTION is literally sitting there in the synopsis, it's a little POD artifact that's been vibing in there. not me pointing it out π just copy what you need from the code above and move on.
πΈ DESCRIPTION πΈ
X509_get0_uids() sets *piuid and *psuid to the issuer and subject unique identifiers of certificate x β or NULL if the fields are not present. it doesn't hand you the values back, it writes them into your pointers, so pass in the addresses of your const ASN1_BIT_STRING * variables and let it do its thing. slay. β¨
X509_ACERT_get0_issuerUID() returns the issuer unique identifier of the attribute certificate x β or NULL if the field is not present. that one's a plain return value, no out-parameters, very low-effort-queen of it. π
π NOTES π
the issuer and subject unique identifier fields are very rarely encountered in practice outside test cases. like, genuinely rare. if you're seeing one in the wild, that's an event. screenshot it. π«Ά
π RETURN VALUES π
X509_get0_uids()does not return a value. it's avoidfunction. it returns nothing, and it's at peace with that.X509_ACERT_get0_issuerUID()returns a unique identifier on success orNULLon failure.
π SEE ALSO π
the whole friend group, fr fr:
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_get_version(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_get0_uids()was added in OpenSSL1.1.0. vintage. β¨X509_ACERT_get0_issuerUID()was added in OpenSSL3.4. new girl on the block. π
π COPYRIGHT π
Copyright 2015-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>.
and that's the whole page, bestie π§π this version is 3.5.0, dated 2026-09-25, straight from the X509_GET0_UIDS(3ossl) corner of the OpenSSL docs β go forth and get those uids, mwah π
π¦ 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