page_name(3)
💖 page_name(3) — Heimdal x509 library 💖
okay bestie, sit down, we're talking about names. not like, your government name, like PKIX/X.509 names. there are several names in PKIX/X.509 and we're meeting two of them today: GeneralName and Name. 🎀
✨ NAME ✨
page_name — PKIX/X.509 Names. There are several names in PKIX/X.509, GeneralName and Name.
🌸 DESCRIPTION 🌸
so a Name is literally just an ordered list of Relative Distinguished Names (RDN for short, iykyk). and each one of those RDNs? an unordered list of typed strings. unordered!! the order of the strings inside an RDN does not matter, but the order of the RDNs themselves absolutely does. main character behavior tbh. 👑
each string has a type, and types are defined by an OID, and every OID gets a long description and a short description. the iconic example: id-at-commonName (2.5.4.3) has the long name CommonName and the short name CN. same thing, two outfits. 💅
the string itself can be encoded several different ways — UTF8, UTF16, Teltex string, etc. and here's the tea: the type limits what encoding should be used. so you can't just vibe-check your way into any encoding you want, the type decides. 🌈
not me knowing exactly which encoding goes with which type… anyway. 🙈
now GeneralName is the broader nametype — it's giving "I contain multitudes." it can contain all kind of stuff like Name, IP addresses, partial Name, etc. so it's the flexible one, the social butterfly of name types. 🦋
and Name gets mapped into a hx509_name object. that's the actual thing you hold onto in code. ✨
you parse and string name into a hx509_name object with hx509_parse_name(), and you turn it back into its string representation with hx509_name_to_string(). round trip, slay. 🔥
name strings are defined in rfc2253, rfc1779 and X.501. periodt.
see the library functions here: hx509 name functions 🫶
Version 7.8.0 🌸 Tue Nov 15 2022 — that's the whole page bestie, go forth and parse some names, you ate 💖✨🎀
📦 where this page comes from
- alpine 3.22: heimdal-doc 7.8.0-r4 · BSD-3-Clause
- alpine 3.23: heimdal-doc 7.8.0-r5 · BSD-3-Clause
- alpine 3.24: heimdal-doc 7.8.0-r5 · BSD-3-Clause
- epel 10: heimdal-devel 7.8.0-26.el10_2 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- epel 9: heimdal-devel 7.8.0-5.el9 · BSD and MIT
- fedora 43: heimdal-devel 7.8.0-26.fc43 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 43: heimdal-devel 7.8.0-26.fc43 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-26.fc43 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-26.fc43 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-28.fc44 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-28.fc44 · BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms