X.509 був виданий 3 липня1988 року і був зв'язаний зі стандартом X.500.
Особливості
Для випуску сертифікатів існує чітко визначена ієрархічна система відповідальних органів (англ.certificate authorities — CAs). У цьому його відмінність від моделей, основаних на принципі мережі довіри (англ.web of trust), подібним до PGP, де будь-хто (не тільки спеціальні органи — CAs) можуть випускати, підписувати і перевіряти відповідність.
Версія 3 X.509 має гнучкість для підтримки таких топологій як мости (bridges) та сітки (meshes). Може бути використаний у p2p мережах, але таким чином використовується рідко.
Види сертифікатів
Стандартом X.509 визначані такі види сертифікатів:
сертифікат відкритого ключа;
сертифікат атрибутів.
Сертифікат відкритого ключа підтверджує, що відкритий ключ належить відповідній особі. Містить ім'я особи, відкритий ключ, назву засвідчувального центру, політику використання тощо. Сертифікат підписується електронним підписом засвідчувального центру.
Сертифікат відкритого ключа використовується для ідентифікації особи та визначення операцій, які він має право здійснювати з використанням закритого ключа, що відповідає відкритому ключу.
Формат сертифіката відкритого ключа X.509 v3 наведено в RFC 5280[1].
Сертифікат атрибутів — підтверджує атрибути та їх значення, що характеризують особу, наприклад, приналежність до групи, роль, повноваження тощо. За структурою аналогічний сертифікату відкритого ключа, але не має відкритого ключа. Сертифікат атрибутів застосовується для авторизації осіб.
Формат сертифіката атрибутів наведено в RFC 5755[2].
Структура сертифікату
Сертифікат складається з наступних атрибутів та їхніх значень:
Сертифікат (Certificate)
версія (Version)
серійний номер (Serial Number)
ідентифікатор алгоритму (Algorithm ID)
видавець (Issuer)
період дії (Validity) включає у себе:
не перед (Not Before)
не після (Not After)
суб’єкт сертифікату (Subject)
інформація про публічний ключ суб’єкту (Subject Public Key Info):
.PEM — (Privacy Enhanced Mail) Base64 закодований DER сертифікат, поміщений між «-----BEGIN CERTIFICATE-----» та «-----END CERTIFICATE-----»;
.P7B — Див. .p7c
.P7C — PKCS#7 Підписана структура без даних, просто сертифікат(-и) чи список сертифікатів які вже не дійсні;
.PFX — Див. .p12
.P12 — PKCS#12 можуть містити публічні та приватні ключі захищені паролем.
Приклад
Найбільш поширений файл з сертифікатом відкритого ключа (*.cer) містить інформацію в бінарному вигляді. Для того, щоб її переглянути можна скористатись пакетом OpenSSL:
opensslx509-informder-inmy_digest.cer-noout-text
Ця команда покаже вміст сертифікату (нижче приклад):
Data:
Version: 3 (0x2)
Serial Number: 646702442348892787 (0x8f98c71e7955273)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = UA, O = MyDigest Inc., OU = My Digest Company, CN = Developer Relations Cert
Validity
Not Before: Oct 12 12:40:30 2014 GMT
Not After : Oct 12 12:40:30 2016 GMT
Subject: UID = XMM9NE5AEO, CN = Developer: Petrovsk Oleksa, OU = Worker, O = Petrovsk Oleksa, C = UA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d3:de:c0:bf:f6:8b:51:1c:b7:66:a1:4f:0c:94:
....
....
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Authority Key Identifier:
keyid:88:27:17:09:A9:B6:18:60:8B:EC:EB:BA:F6:47:59:C5:52:54:A3:B7
Authority Information Access:
OCSP - URI:http://ocsp.mydiget.com/findosp[недоступне посилання з червня 2019]
X509v3 Certificate Policies:
Policy: 1.2.340.122635.100.1.1
User Notice:
Explicit Text: Reliance on this certificate by ...
CPS: http://www.mydiget.com/certificateauthority/[недоступне посилання з червня 2019]
X509v3 Extended Key Usage: critical
Code Signing
X509v3 Subject Key Identifier:
23:D2:13:8B:27:81:88:99:00:88:0D:41:CB:37:53:72:4A:F3:02:6D
X509v3 Key Usage: critical
Digital Signature
1.2.840.113635.100.6.1.2: critical
..
Signature Algorithm: sha256WithRSAEncryption
ba:23:aa:a9:0b:8c:c6:1b:d6:dd:9a:83:b2:29:e8:f8:4f:2f:
....
....
Примітки
↑RFC 5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
↑RFC 5755 — An Internet Attribute Certificate Profile for Authorization