X.509¶
X.509 — міжнародний стандарт (ITU-T), що визначає формат цифрових сертифікатів відкритих ключів і список відкликання сертифікатів (CRL).
Опис¶
X.509 є фундаментом сучасного інтернет-PKI. Будь-який TLS-сертифікат — HTTPS-сайту, корпоративного VPN чи внутрішнього сервісу — має структуру, визначену цим стандартом. Стандарт описує, які поля обов'язкові, як вони кодуються (ASN.1 / DER) та як перевіряється підпис.
Ключові поля сертифіката X.509 v3:
| Поле | Значення |
|---|---|
| Subject | Ідентифікатор власника (CN, O, OU тощо) |
| Issuer | Ідентифікатор видавця (CA) |
| Serial Number | Унікальний номер у межах CA |
| Validity | Діапазон дат дії |
| Public Key | Відкритий ключ суб'єкта |
| Extensions | Додаткові атрибути: SANs, Key Usage, BC |
| Signature | Підпис CA над усіма полями |
Розширення (Extensions) — найважливіша частина сучасних сертифікатів. Subject Alternative Names (SAN) визначають, для яких доменів чи IP-адрес дійсний сертифікат. Key Usage та Extended Key Usage обмежують призначення ключа (TLS-сервер, підпис коду, клієнтська автентифікація). Basic Constraints вказує, чи є сертифікат CA-сертифікатом.
Формати зберігання: PEM (Base64, .crt, .pem) — найпоширеніший у Linux; DER (бінарний, .der) — для вбудованих систем; PKCS#12 (.p12, .pfx) — архів з ключем і ланцюжком сертифікатів, захищений паролем.
Версія X.509 v3 (RFC 5280) є поточним стандартом. Попередні версії v1 та v2 не підтримують розширення і вважаються застарілими.
В контексті UMTC¶
Всі сертифікати в UMTC-інфраструктурі відповідають формату X.509 v3:
- Caddy завантажує серверні X.509-сертифікати для HTTPS та mTLS-термінації
- Matrix Synapse використовує X.509 для federation TLS між серверами
- MAS OAuth видає токени після перевірки TLS-сертифіката клієнта
- Внутрішній CA — самопідписаний X.509 Root CA, якому довіряють всі вузли UMTC
При розгортанні нового вузла (сервера, eNB) йому видається X.509-сертифікат, підписаний внутрішнім CA. Ansible перевіряє fingerprint сертифіката перед застосуванням конфігурацій.
# Перегляд полів сертифіката
openssl x509 -in server.crt -text -noout
# Перевірка ланцюжка довіри
openssl verify -CAfile ca.crt server.crt
# Перегляд SAN (Subject Alternative Names)
openssl x509 -in server.crt -ext subjectAltName -noout
# Fingerprint сертифіката (SHA-256)
openssl x509 -in server.crt -fingerprint -sha256 -noout
Пов'язані терміни¶
- pki — PKI визначає процеси видачі та управління X.509-сертифікатами
- mtls — mTLS вимагає X.509-сертифікатів на обох сторонах з'єднання
- wireguard — WireGuard використовує власну модель ключів замість X.509
Посилання¶
- RFC 5280 — X.509 PKI Certificate and CRL Profile — основний стандарт
- ITU-T X.509 — оригінальна специфікація ITU-T
Шлях: glossary/x509.md