Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
it:linux:elektronicky-podpis [2025/07/11 15:20] – Petr Nosek | it:linux:elektronicky-podpis [2025/07/26 11:21] (aktuální) – Petr Nosek | ||
---|---|---|---|
Řádek 41: | Řádek 41: | ||
Tady je postup pro vygenerování certifikátu pomocí OpenSSL: | Tady je postup pro vygenerování certifikátu pomocí OpenSSL: | ||
- | Postup pro získání certifikátu pomocí OpenSSL: | ||
- | Upozorňuji, | ||
**Generování žádosti o certifikát: | **Generování žádosti o certifikát: | ||
- | Pro generování žádosti spusťte Terminál. Poté se přesuňte | + | 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> | <code bash> | ||
- | openssl req -out request.req -new -newkey rsa:2048 -keyout privatekey.key | + | openssl req -out request.req -new -newkey rsa:2048 -keyout privatekey.key |
</ | </ | ||
Řádek 57: | Řádek 79: | ||
Po zadání příkazu budete vyzváni k zadání hesla k soukromému klíči a následně k jeho potvrzení. | 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íčů:** | **Spárování klíčů:** | ||
Řádek 79: | Řádek 111: | ||
Certifikát pak nahraji zde: | Certifikát pak nahraji zde: | ||
https:// | 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. | ||
+ | |||
+ | {{.: |