Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
it:linux:elektronicky-podpis [2025/07/06 09:12] – vytvořeno Petr Nosek | it:linux:elektronicky-podpis [2025/07/26 11:21] (aktuální) – Petr Nosek | ||
---|---|---|---|
Řádek 27: | Řádek 27: | ||
Vyplnil jsem formulář, odeslal ho datovou schránkou a nyní čekám na zpracování, | Vyplnil jsem formulář, odeslal ho datovou schránkou a nyní čekám na zpracování, | ||
+ | ==== Podpis dokumentu seznam žadatelů ==== | ||
+ | |||
+ | V dalším kroku jsem podepsal dokument seznam žadatelů. Tam uvádím konkrétní lidi, kteří budou na certifikátu. Opět jsem poslal datovou schránkou a další pracovní den mi přišlo podepsané. | ||
+ | |||
+ | Na stránkách mají matoucí informaci, že když chci na certifikát, | ||
+ | |||
+ | Pro jistotu jsem na poštu volal a potvrzovali mi, že dokumenty už nepotřebuji. Takže poslední krok je vygenerování ID žádosti o certifikát a přijít na Czech POINT. | ||
+ | |||
+ | ==== Vygenerování žádosti o certifikát ==== | ||
+ | |||
+ | Protože jsem v Linuxu, tak mi nejde žádost vygenerovat z webových stránek. Musím vygenerovat certifikát pomocí OpenSSL, pak nahrát a když bude všechno v pořádku, přidělí mi ID žádosti a mohu jít na poštu. | ||
+ | |||
+ | Tady je postup pro vygenerování certifikátu pomocí OpenSSL: | ||
+ | |||
+ | |||
+ | **Generování žádosti o certifikát: | ||
+ | |||
+ | Přesunul jsem se do adresáře, kde budu chtít žádost o certifikát uložit. | ||
+ | |||
+ | Nejprve jsem si vytvořil soubor openssl.cnf s tímto nastavením: | ||
+ | |||
+ | < | ||
+ | [ req ] | ||
+ | default_bits | ||
+ | prompt | ||
+ | distinguished_name = dn | ||
+ | req_extensions | ||
+ | |||
+ | [ dn ] | ||
+ | C = CZ | ||
+ | O = NÁZEV SPOLEČNOSTI ZE ŽÁDOSTI | ||
+ | OU = ČÍSLO ZAMĚSTNANCE ZE ŽÁDOSTI | ||
+ | CN = Petr Nosek | ||
+ | emailAddress | ||
+ | |||
+ | [ req_ext ] | ||
+ | # Pokud chcete, aby se e‑mail zkopíroval i do SAN: | ||
+ | subjectAltName = email:copy | ||
+ | </ | ||
+ | |||
+ | Samozřejmě jsem doplnil název společnosti, | ||
+ | |||
+ | Pak jsem spustil vygenerování certifikátu tímto způsobem: | ||
+ | <code bash> | ||
+ | openssl req -out request.req -new -newkey rsa:2048 -keyout privatekey.key -config openssl.conf | ||
+ | </ | ||
+ | |||
+ | * **request.req**: | ||
+ | * **rsa: | ||
+ | * **privatekey.key**: | ||
+ | |||
+ | Po zadání příkazu budete vyzváni k zadání hesla k soukromému klíči a následně k jeho potvrzení. | ||
+ | |||
+ | V dalším kroku jsem nahrál soubor request.req pomocí tohoto webového formuláře: | ||
+ | |||
+ | A teď mohu jít na poštu, aby mě ověřili a certifikát mi potvrdili. | ||
+ | |||
+ | Pro kontrolu informací obsažených v certifikátu mohu spustit tento příkaz: | ||
+ | |||
+ | <code bash> | ||
+ | openssl req -in request.req -noout -text | ||
+ | </ | ||
+ | |||
+ | **Spárování klíčů:** | ||
+ | |||
+ | Nejprve je nutné stáhnout certifikát ve formátu PEM. Certifikát doporučuji uložit do stejného adresáře, kde byla generována žádost o certifikát. | ||
+ | |||
+ | Spusťte Terminál, přesuňte se do adresáře kde byla generována žádost a kde je uložen certifikát ve formátu PEM. Ve vybraném adresáři spusťte tento příkaz: | ||
+ | |||
+ | <code bash> | ||
+ | openssl pkcs12 -export -out certifikat.p12 -inkey privatekey.key -in certifikat.pem | ||
+ | </ | ||
+ | |||
+ | * **certifikat.p12**: | ||
+ | * **privatekey.key**: | ||
+ | * **certifikat.pem**: | ||
+ | |||
+ | Po zadání příkazu budete vyzváni k zadání hesla k soukromému klíči. Následně zadáte heslo k vytvořenému záložnímu certifikátu (soubor .p12). Heslo bude nutné potvrdit. | ||
+ | |||
+ | Čerpám z jejich oficiálního návodu: | ||
+ | https:// | ||
+ | |||
+ | Certifikát pak nahraji zde: | ||
+ | https:// | ||
+ | |||
+ | |||
+ | ==== Podepisování dokumentů ==== | ||
+ | |||
+ | Potřeboval jsem podepisovat a šifrovat e-maily pomocí svého PKCS#12 balíčku (.p12) na Ubuntu. Postupoval jsem podle následujících kroků: | ||
+ | |||
+ | === Instalace nástrojů a vytvoření NSS databáze === | ||
+ | |||
+ | Nejprve jsem nainstaloval balík `libnss3-tools`, | ||
+ | |||
+ | <code bash> | ||
+ | sudo apt update | ||
+ | sudo apt install libnss3-tools | ||
+ | </ | ||
+ | |||
+ | Poté jsem vytvořil adresář pro databázi a inicializoval ji: | ||
+ | |||
+ | <code bash> | ||
+ | mkdir -p ~/ | ||
+ | certutil -d sql: | ||
+ | </ | ||
+ | |||
+ | * `certutil -N` slouží k inicializaci (nebo resetu) NSS databáze. | ||
+ | |||
+ | === Import .p12 certifikátu === | ||
+ | |||
+ | Naimportoval jsem svůj certifikát do databáze pomocí: | ||
+ | |||
+ | <code bash> | ||
+ | pk12util -d sql: | ||
+ | </ | ||
+ | |||
+ | Po výzvě jsem zadal heslo, kterým je soubor `.p12` chráněn. Tento příkaz importuje jak privátní klíč, tak veřejný certifikát. | ||
+ | |||
+ | === Import certifikačních autorit PostSignum === | ||
+ | |||
+ | V Linuxu chyběly certifikační autority PostSignum, takže jsem je musel přidat ručně. Certifikáty jsem stáhl ze stránky: | ||
+ | https:// | ||
+ | |||
+ | == Import kořenového certifikátu (Root CA) == | ||
+ | |||
+ | <code bash> | ||
+ | certutil -d sql: | ||
+ | -A \ | ||
+ | -n " | ||
+ | -t " | ||
+ | -i postsignum_qca4_root.cer | ||
+ | </ | ||
+ | |||
+ | * `-n` je " | ||
+ | * `-t " | ||
+ | |||
+ | == Import podřízených certifikátů (SubCA) == | ||
+ | |||
+ | Pro každý SubCA certifikát jsem postup opakoval. Například pro QCA4 SubCA: | ||
+ | |||
+ | <code bash> | ||
+ | certutil -d sql: | ||
+ | -A \ | ||
+ | -n " | ||
+ | -t " | ||
+ | -i postsignum_qca4_sub.cer | ||
+ | </ | ||
+ | |||
+ | * `-t " | ||
+ | |||
+ | Stejně jsem naimportoval i další certifikáty jako `postsignum_qca5_sub.cer`, | ||
+ | |||
+ | == Ověření importu == | ||
+ | |||
+ | Ověřil jsem obsah NSS databáze: | ||
+ | |||
+ | <code bash> | ||
+ | certutil -d sql: | ||
+ | </ | ||
+ | |||
+ | Některé certifikáty (např. `postsignum_qca5_sub.pem`) jsem už do NSS databáze nemusel přidávat, protože nebyly potřeba. | ||
+ | |||
+ | === Nastavení LibreOffice pro podepisování dokumentů === | ||
+ | |||
+ | V LibreOffice jsem provedl nastavení NSS databáze: | ||
+ | |||
+ | * Otevřel jsem *Nástroje → Možnosti → LibreOffice → Zabezpečení*. | ||
+ | * Klikl jsem na *Cesta k certifikátům (Certificate Path)*. | ||
+ | * Zvolil jsem *Vybrat NSS cestu…* a nastavil `~/ | ||
+ | * Potvrdil a restartoval LibreOffice. | ||
+ | |||
+ | Po restartu LibreOffice načetl mou NSS databázi i s certifikáty. | ||
+ | |||
+ | == Podepisování dokumentů == | ||
+ | |||
+ | **PDF dokumenty: | ||
+ | Zvolil jsem **Soubor → Exportovat jako → Exportovat jako PDF**, pak v záložce **Digitální podpisy** vybral certifikát a zadal heslo. | ||
+ | |||
+ | **ODF dokumenty (např. .odt): | ||
+ | V dokumentu jsem klikl na **Soubor → Digitální podpisy → Podepsat existující dokument**, opět vybral certifikát a zadal heslo. | ||
+ | |||
+ | Oba postupy jsou popsány i v oficiální dokumentaci LibreOffice. Výsledkem je dokument s mým digitálním podpisem. | ||
+ | |||
+ | |||
+ | === Nastavení Mozilla Thunderbird === | ||
+ | |||
+ | == Instalace certifikačních autorit CA == | ||
+ | |||
+ | zdroj: https:// | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | **Je potřeba postupně instalovat všechny certifikáty autorit.** | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | == Přidání certifikátu == | ||
+ | |||
+ | zdroj: https:// | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | Zde bude zobrazen nově naimportovaný certifikát. Pokud je vše v pořádku, potvrďte tlačítkem OK. | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | Vyberte požadovaný certifikát a potvrďte jej tlačítkem OK. | ||
+ | |||
+ | {{.: |