X.509 je mezinárodní norma, která popisuje, jak má vypadat digitální certifikát. Není to služba ani program, ale předpis pro obsah souboru – asi jako norma určující, co musí být na občanském průkazu a kde. Každý SSL certifikát, díky kterému web běží přes HTTPS, je zapsaný právě podle X.509.
Co v takovém souboru najdete:
- Pro koho platí – doména nebo seznam domén, kterých se certifikát týká.
- Kdo ho vydal – certifikační autorita, například Let’s Encrypt.
- Platnost od a do – po uplynutí data prohlížeč certifikát odmítne, i kdyby byl jinak v pořádku.
- Veřejný klíč – část dvojice klíčů, kterou se navazuje šifrované spojení.
- Podpis vydavatele – pečeť autority, díky které nejde nic z výše uvedeného dodatečně změnit.
Prohlížeč si to celé přečte, ověří pečeť a porovná jméno v certifikátu s adresou, na kterou jste šli. Sedí-li vše, ukáže zámeček. Nesedí-li, zobrazí varovnou stránku – nejčastěji proto, že certifikát propadl nebo patří jiné doméně. K ověření navíc slouží takzvaný řetěz certifikátů: server posílá kromě svého certifikátu i mezilehlé certifikáty autority, aby prohlížeč došel až k důvěryhodnému kořeni, který má uložený v sobě.
Na disku se s tím setkáte v podobě přípon .crt, .cer nebo .pem. Nejde o různé druhy certifikátu, jen o různé způsoby zápisu téhož: čitelná varianta PEM je blok písmen a číslic mezi řádky s pomlčkami, binární DER je totéž v nečitelné podobě pro stroje. Odděleně od certifikátu se vždy drží soukromý klíč (obvykle .key), který nesmí opustit server – kdo ho získá, může se za Váš web vydávat.
Dobrá zpráva na závěr: na hostingu tohle vůbec řešit nemusíte. Certifikáty se vydávají i obnovují automaticky, takže žádné soubory nekonvertujete ani nenahráváte. Znát pojem se hodí hlavně ve chvíli, kdy Vám nějaký návod nebo cizí služba pošle soubor a zeptá se, v jakém formátu ho chcete.