V nedávno publikovaném článku Skryté vnady protokolu SSL byly naznačeny digitální certifikáty a práce s nimi, následující řádky a odstavce se na tuto problematiku zaměří z větší blízkosti. Jelikož opakování je matkou moudrosti, tak pouze pro připomenutí uveďme, že certifikáty jednoznačně spojují šifrovací klíče s jejich vlastníky a dovolují v dostatečné míře ověřit, komu patří.
Pravděpodobně nejznámějším typem digitálních certifikátů současnosti je X.509 (RFC 3280), původně návrh ITU-T uvedený v roce 1988 ve spojitosti se standardem X.500 (definuje adresářové služby). Struktura certifikátu X.509 verze 3 je následující (v závorkách jsou uvedeny odpovídající RFC ekvivalenty):
- Číslo verze (version)
 - Sériové číslo (serialNumber)
 - ID podpisového algoritmu (signature)
 - Vydavatel (issuer)
 - Platnost (validity)
		
- Od (notBefore)
 - Do (notAfter)
 
 - Subjekt (subject)
 - Informace o veřejném klíči subjektu (subjectPublicKeyInfo)
		
- Algoritmus veřejného klíče subjektu (algorithm)
 - Veřejný klíč subjektu (subjectPublicKey)
 
 - Jednoznačná identifikace vydavatele (issuerUniqueID)
 - Jednoznačná identifikace subjektu (subjectUniqueID)
 - Rozšíření certifikátu (extensions)
 
- ID podpisového algoritmu certifikátu (signatureAlgorithm)
 - Digitální podpis certifikátu (signatureValue)
 
Jak naznačuje horizontální oddělovač před posledními dvěma položkami, je celý certifikát (tedy všechny jeho prvky) digitálně podepsanou posloupností. Tento fakt je lépe vidět z části formálního zápisu v abstraktním jazyce ASN.1:
Certificate    ::=     SEQUENCE     {
         bsCertificate     TBSCertificate,
         signatureAlgorithm       AlgorithmIdentifier,
         signatureValue       BIT STRING
         }
TBSCertificate    ::=    SEQUENCE    {
           . . .
         }
Číslo verze certifikátu (version) neodpovídá ničemu jinému než použité variantě X.509 a může nabývat hodnot 0 (verze 1), 1 (verze 2), nebo konečně 2 (verze 3). Sériové číslo certifikátu (serialNumber) musí z definice být celé číslo.
Identifikátor podpisového algoritmu (signature) obsahuje dvě položky, a sice označení algoritmu (např. DSA) spolu s jím požadovanými parametry (bližší informace o používaných identifikátorech viz RFC 3279). Použitý algoritmus musí být shodný s podpisovým algoritmem celého certifikátu (signatureAlgorithm).
Položka Vydavatel (issuer) obsahuje identifikaci organizace, která certifikát vydala a podepsala, a podobně prvek Subjekt (subject) identifikuje toho, komu byl certifikát vydán. K tomu se používají speciální jedinečná jména (definováno v X.501), jež se označují jako Distinguished name (DN). Jedinečné jméno se skládá z posloupnosti relativních jedinečných jmen (Relative Distinguished Name) tvaru identifikátor = hodnota, kde identifikátory na levé straně rovnosti mohou být například Country ©, Organization (O), Common Name (CN) apod. Výsledkem je pak kýžená stromová struktura:

Webový prohlížeč pak samozřejmě dovoluje tyto informace u každého certifikátu také zobrazit:

Položky jednoznačné identifikace vydavatele (issuerUniqueID) a předmětu (subjectUniqueID) byly zavedeny „až“ v X.509 verze 2 a slouží k řešení problémů s několikanásobným použitím stejných hodnot issuer či subject. Konečně rozšíření (extensions)spatřila světlo světa spolu s třetí verzí X.509 a dovolují přidat k certifikátu další položky. Vlastní testovací certifikát s omezenou dvoutýdenní dobou platnosti si lze na počkání vytvořit například na stránkách První certifikační autority, a.s., kdy vám během několika málo chvil vytvořený certifikát bude doručen e-mailem.
Webové prohlížeče samozřejmě umožňují nové certifikáty importovat, exportovat a spravovat. Fyzický soubor s certifikátem lze rozeznat, například podle následujících přípon:
- .CER, .DER certifikát kódovaný podle DER (Distinguished Encoding Rules, používá se pro zakódování dat před jejich podepsáním)
 - .PEM údaje certifikátu kódovány v Base64 a uzavřeny mezi řetězce -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----
 - .P7B, .P7C, .PK7 údaje kódovány podle PKCS#7 (Public Key Cryptography Standard, RFC 2315) a uzavřeny mezi řetezce -----BEGIN PKCS7----- a -----END PKCS7-----
 - .PFX, .P12 údaje kódovány dle PKCS#12