X.509

X.509 ir publiskās atslēgas kriptogrāfisko sertifikātu formāta standarts.

Sertifikāti ir datu bloki, kas sastāv no kāda asimetriskā kriptogrāfiskā algoritma publiskās atslēgas (atslēgas) un datiem par šīs atslēgas īpašnieku. Šo kombināciju paraksta ar kādu citu (CA) vai to pašu privāto atslēgu. T.i., sertifikāts sastāv no atslēgas, datiem par atslēgas īpašnieku un digitālā paraksta.

Uzbūve un vēsture 
X.509 definē hierarhisku sertifikātu struktūru. Pašā augšā ir augšējā līmeņa CA (certificate authority), apakšā ir gala mērķim lietojami sertifikāti un pa vidu (ja tādi līmeņi eksistē) ir vidējo līmeņu CA. Ar CA sertifikātiem var tikai parakstīt citus sertifikātus. Gala mērķim lietojamos sertifikātus (end entity certificate) nevar lietot citu sertifikātu parakstīšanai. Lai arī X.509 3.versijas standartā, sertifikātus var parakstīt vairāk kā viens CA (līdzīgi kā PGP), reāli sastopamās programmas šādu funkcionalitāti neatbalsta. X.509 paredz arī iespēju atsaukt sertifikātus (t.i., padarīt nederīgus pirms derīguma termiņa beigām). To lieto, ja secina, ka privātā atslēga ir nozagta, vai ja sertifikāts attiecīgajam pielietojumam vairs nav vajadzīgs. Sertifikātu atsaukšanu (revocation) nodrošina vai nu ar atsaukto sertifikātu sarakstu (CRL - certificate revocation list), kas satur visu atsaukto sertifikātu sērijas numurus, saraksta derīguma termiņu un CA parakstu. Vēl, vienam atsevišķam sertifikātam var lietot OCSP (Online certificate status protocol), kas būtībā ir ļoti īss CRL, kas attiecas tikai uz vienu, pieprasīto sertifikātu. Parastie CRL var būt visai gari, jo tie satur informāciju par visiem atsauktajiem sertifikātiem, kam vēl nav beidzies derīguma termiņš. Sertifikātiem, kam ir beidzies derīguma termiņš, atsaukšana nav nepieciešama, jo tie jau ir nederīgi tāpat.

X.509 sertifikāti satur šādus laukus:
 Versija (parasti ir 3., var būt arī 1., tajai nav iespējami paplašinājumi)
 Sērijas numurs (vienas CA izsniegtajiem sertifikātiem tam katram sertifikātam jābūt unikālam)
 Algoritma ID
 Izdevējs (Issuer) (šis lauks ir ļoti līdzīgs X.400 standarta e-pasta adresei)
 Derīguma termiņš:
 No (laiks pirms kura sertifikāts nav derīgs)
 Līdz (laiks pēc kura sertifikāts nav derīgs)
 Īpašnieks (Subject) (šis lauks ir ļoti līdzīgs X.400 standarta e-pasta adresei)
 Īpašnieka publiskās atslēgas dati:
 Īpašnieka publiskās atslēgas algoritms (te norāda kāda algoritma atslēga tā ir (RSA, DSA, utt)
 Publiskā atslēga
 Paplašinājumi (iespējami tikai v3 sertifikātiem)(var norādīt daudz papildu datu, piem., to ka sertifikāts ir vai nav CA sertifikāts)
 (... to paplašinājumu var būt daudz)
 Paraksta algoritms
 Paraksts (viss augstākminētais parakstīts ar CA privāto atslēgu)

Vēsturiski X.509 bija definēts kā paplašinājums X.500 standartam. Pirmā X.509 versija bija definēta 1988. gadā. Vēlāk X.509 pielāgoja interneta vajadzībām ()(jaunākā versija ir ). Internetā X.509 sertifikātus lieto TLS un S/MIME.

Kriptogrāfija