Infrastruktura veřejných klíčů je hierarchická struktura certifikačních autorit, jejíž účelem je sdílení veřejných klíčů asymetrických šifrovacích algoritmů a jejich propojení s konkrétní doménou či identitou.
Certifikáty slouží k propojení veřejných klíčů a domén či identit, a mohou být vystaveny jak pro konkrétní doménu, tak pro její subdomény (*.google.com). Pravost klíče je zajišťována podpisem důvěryhodné certifikační autority (CA).
Převzato z Wikipedie
Vystavuje a zneplatňuje certifikáty.
Certifikát podepsaný tou samou entitou, pro kterou je vystaven. Není považován za důvěryhodný, pokud není explicitně přidán do systému.
Uložení certifikátů se liší napříč distribucemi. Distribuce založené na Debianu ukládají důvěryhodné certifikáty v /etc/ssl/certs/ jakožto jednotlivé soubory a heše na ně linkované, kdežto CentOS / Fedora pod /etc/pki/ca-trust/extracted/ jakožto balík certifikátů v jednom souboru. Pro vlastní CA slouží adresář /etc/pki/CA/
V případě debianí distribuce umístíme importovanou CA ve formátu .pem do /usr/share/ca-certificates/, či /usr/local/share/ca-certificates/ a spustíme
# update-ca-certificates
V případě Fedory / CentOS umístíme CA do /etc/pki/ca-trust/source/anchors/ a spustíme
# update-ca-trust
$ openssl req -x509 -newkey rsa:4096 -keyout ca.key -out cacert.pem
Lze dodat atribut -days, omezující dobu platnosti.
$ openssl req -newkey rsa:4096 -keyout cert.key -out cert.csr
$ openssl x509 -req -in cert.csr -CA cacert.pem -CAkey ca.key -CAcreateserial -out cert.crt
Pro revokaci certifikátu je třeba nejprve vytvořit revokační list
$ openssl ca -cert cacert.pem -keyfile ca.key -gencrl -out crl.pem
a provést revokaci
$ openssl ca -revoke cert.crt
DANE funguje nad DNSSEC a zavádí nový záznam TLSA. Výhodou oproti stávajícímu modelu certifikačních autorit je reálné svázání veřejných klíčů s doménovým jménem ve službě DNS, a podepisování veřejných klíčů pouze nadřazeným serverem. V současném modelu je naopak možné, aby kterákoli CA podepsala kterýkoli veřejný klíč.