X509_GET0_UIDS(3ossl)

πŸ“¦ version 15.1, in freebsd 15.1

okay bestie, this is OpenSSL's manual page X509_GET0_UIDS(3ossl) β€” yes, the title is doing the absolute most, and we're here for it πŸ’…βœ¨ It covers X509_get0_uids and X509_ACERT_get0_issuerUID, the lil functions that fetch unique identifiers from a certificate and an attribute certificate.

🌸 NAME 🌸

X509_get0_uids, X509_ACERT_get0_issuerUID β€” get certificate and attribute certificate unique identifiers. Periodt. 🫢

✨ SYNOPSIS ✨

Here's the include-and-signature situation, exactly as the page says:

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

πŸ¦‹ DESCRIPTION πŸ¦‹

X509_get0_uids() sets *piuid and *psuid to the issuer and subject unique identifiers of certificate x, or to NULL if the fields are not present. Read that again: it's writing through those pointers, bestie. No return value, just pointer assignments and vibes πŸͺ„

X509_ACERT_get0_issuerUID() returns the issuer unique identifier of the attribute certificate x, or NULL if the field is not present. That one is a returner, not a pointer-setter. 😌

Also, the original text has a lil stray =head1 DESCRIPTION hanging out right here. Not a function, just a formatting relic β€” slay, I guess? πŸ™ˆ

🧚 NOTES 🧚

The issuer and subject unique identifier fields are very rarely encountered in practice outside test cases. Like, test-case-only rare. If you see one IRL, check the vibe πŸ”βœ¨

🌈 RETURN VALUES 🌈

  • X509_get0_uids() β€” does not return a value. It's giving pointer-output realness.
  • X509_ACERT_get0_issuerUID() β€” returns a unique identifier on success or NULL on failure. Failure gets the NULL treatment, no cap. πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

Go read these when you're done, bestie β€” the whole OpenSSL friend group: 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). iykyk.

πŸŽ€ HISTORY πŸŽ€

  • X509_get0_uids() β€” was added in OpenSSL 1.1.0. Elder Gen Z energy.
  • X509_ACERT_get0_issuerUID() β€” was added in OpenSSL 3.4. Fresh-ish, bestie.

Copyright 2015-2024 The OpenSSL Project Authors. All Rights Reserved. Protect the intellectual property, periodt.

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>. Legally iconic. βš–οΈβœ¨


Source/version + date sign-off: OpenSSL 3.5.6, dated 2026-04-07. Bye bestie, go get those unique identifiers πŸ«ΆπŸ’‹

πŸ“¦ where this page comes from