Tak to je teda gól, certifikační autorita si podle pana Jirsáka nevydává svoje vlastní kořenové certifikáty. Kdybyste se alespoň na ten jejich kořenový certifikát podíval, tak byste tam viděl, že Issuer je Internet Security Research Group, tedy Let's Encrypt. Stejně tak to má třeba DigiCert (Issuer: CN=DigiCert Global Root CA, zde máte dokonce Root CA v názvu)...
Vše X.509 certifikáty se dají rozdělit do dvou disjunktních skupin – certifikáty podepsané certifikační autoritou a self-signed certifikáty. To označení „self-signed certifikát“ vzniklo právě proto, aby existovalo jednoduché označení pro „certifikát nepodepsaný certifikační autoritou“.
Kořenový certifikát certifikační autority logicky nemůže být podepsaný certifikační autoritou, protože v době, kdy ten certifikát vzniká, neexistuje ještě ten certifikát certifikační autority (protože právě vzniká).
Možná vás mate to, že certifikační autoritu považujete za nějakou instituci. Ve skutečnosti se pojmem „certifikační autorita“ v tomhle kontextu myslí konkrétní certifikát (nebo certifikáty), jejichž veřejné klíče jsou někým považovány za veřejné klíče důvěryhodné certifikační autority. Protože třeba Let's Encrypt si může vydat kolik certifikátů chce, ale jako certifikační autorita vydává jenom ty certifikáty, které jsou (třeba zprostředkovaně) podepsané buď čtyřkilovým RSA klíčem LE začínajícím na 00:ad:e8:24:73:f4:14:37:f3:9b:9e:2b:57:28:1c nebo 384bitovým EC klíčem LE začínajícím na 04:cd:9b:d5:9f:80:83:0a:ec:09:4a:f3:16:4a:3e.
V položce Issuer self-signed certifikátu jsou jen zkopírované položky ze Subject toho certifikátu – právě proto, že je self-signed, je tedy podepsaný sám sebou, tedy vydavatel je ten samý jako držitel certifikátu. Ovšem ten text nevypovídá vůbec o ničem, self-signed certifikátů, které budou mít v Issuer uvedeno „Internet Security Research Group“, vám klidně vyrobím sto. A dalších sto certifikátů může mít jako Issuer uvedeno „Root CA of Root CA of Root CA“, a stejně to nebude znamenat, že je to ten nejkořenovější kořenový certifikát na světě.
Upravujete si realitu, aby seděla k vašim argumentům.
Nikoli, popisuju realitu tak, jak se to doopravdy používá. Jaký je rozdíl mezi vlastní CA a self-signed certifikáty si dobře uvědomíte, až byste těch self-signed certifikátů vyrobil 150 a těch 150 certifikátů byste musel instalovat na všechna zařízení, která jim mají důvěřovat. A každý týden by vznikaly další self-signed certifikáty a vy byste je musel pořád distribuovat a instalovat. Pak by vám asi došlo, že jste měl raději vytvořit jednu certifikační autoritu, jejíž certifikát nainstalujete jednou.
Když už, tak certifikační autorita nepodepisuje certifikáty, ale na základě CSR (Certificate Signing Request) nebo obdobné žádosti vystavuje NOVÝ certifikát. Z CSR si bere pouze veřejný klíč a zbytek obvykle ignoruje. Ostatní informace pak do certifikátu doplňuje dle sebe a dle toho, co uvedete v nějakém doplňkovém formuláři.
Certifikační autorita podepisuje certifikáty. Technicky není CSR vůbec potřeba, když si budete provozovat vlastní CA, klidně můžete certifikáty vydávat jen na základě dodaného veřejného klíče, nebo dokonce můžete klíčovou dvojici vyrobit sám a předat držiteli certifikátu jeho certifikát i s privátním klíčem. Z hlediska bezpečnosti to není dobré, ale technicky to jde.
Důležitý je ale právě ten podpis autority na certifikátu, kterým autorita stvrzuje, že údaje na certifikátu jsou pravdivé. Podpis zároveň zajistí neměnnost těch údajů (abyste jim opravdu mohl věřit), a díky podpisu můžete hledat, zda ten certifikát podepsala nějaká autorita, které důvěřujete. Tím, že je vše standardizované, dá se to algoritmizovat – takže dodáte seznam certifikátů certifikačních autorit, kterým důvěřujete, dodáte ověřovaný certifikát a případně s ním dodané mezilehlé certifikáty, a algoritmus rozhodne, zda ten dodaný certifikát byl podepsán (i zprostředkovaně) autoritou, které důvěřujete.