it:linux:elektronicky-podpis

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

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 Nosekit: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, že tento postup vyžaduje alespoň základní znalosti práce s příkazovou řádkou. 
  
 **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 do adresáře, kde budete chtít žádost o certifikát uložit. Ve vybraném adresáři spusťte následující příkaz:+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:
 +
 +<code>
 +[ req ]
 +default_bits       = 2048
 +prompt             = no
 +distinguished_name = dn
 +req_extensions     = req_ext
 +
 +[ dn ]
 +C                    = CZ
 +O                    = NÁZEV SPOLEČNOSTI ZE ŽÁDOSTI
 +OU      = ČÍSLO ZAMĚSTNANCE ZE ŽÁDOSTI
 +CN                   = Petr Nosek
 +emailAddress         = EMAILOVÁ ADRESA ZE ŽÁDOSTI
 +
 +[ req_ext ]
 +# Pokud chcete, aby se e‑mail zkopíroval i do SAN:
 +subjectAltName = email:copy
 +</code>
 +
 +Samozřejmě jsem doplnil název společnosti, číslo zaměstnance a e-mailovou adresu dle žádosti. Podle žádosti má být nastaveno číslo zaměstnance na OU3, ale vypadá to, že by mohlo stačit OU na číslo zaměstnance. Uvidím, jestli se s tím poperou. 
 +
 +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 -config openssl.conf
 </code> </code>
  
Řá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: https://www.postsignum.cz/ulozeni_zadosti_o_certifikat.html
 +
 +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
 +</code>
  
 **Spárování klíčů:** **Spárování klíčů:**
Řádek 79: Řádek 111:
 Certifikát pak nahraji zde:   Certifikát pak nahraji zde:  
 https://www.postsignum.cz/ulozeni_zadosti_o_certifikat.html https://www.postsignum.cz/ulozeni_zadosti_o_certifikat.html
 +
 +
 +==== 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`, který obsahuje nástroje `certutil` a `pk12util`:
 +
 +<code bash>
 +sudo apt update
 +sudo apt install libnss3-tools
 +</code>
 +
 +Poté jsem vytvořil adresář pro databázi a inicializoval ji:
 +
 +<code bash>
 +mkdir -p ~/.pki/nssdb
 +certutil -d sql:$HOME/.pki/nssdb -N
 +</code>
 +
 +* `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:$HOME/.pki/nssdb -i cesta/k/vasemu_cert.p12
 +</code>
 +
 +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://www.postsignum.cz/certifikaty_autorit.html
 +
 +== Import kořenového certifikátu (Root CA) ==
 +
 +<code bash>
 +certutil -d sql:$HOME/.pki/nssdb \
 +  -A \
 +  -n "PostSignum Root QCA4" \
 +  -t "C,C,C" \
 +  -i postsignum_qca4_root.cer
 +</code>
 +
 +* `-n` je "přezdívka" certifikátu v databázi.  
 +* `-t "C,C,C"` znamená, že certifikát je důvěryhodnou autoritou pro CA, SSL i S/MIME.
 +
 +== 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:$HOME/.pki/nssdb \
 +  -A \
 +  -n "PostSignum QCA4 SubCA" \
 +  -t "C,," \
 +  -i postsignum_qca4_sub.cer
 +</code>
 +
 +* `-t "C,,"` značí důvěryhodnou CA, bez ověřování pro SSL a S/MIME, což pro zprostředkovatele stačí.
 +
 +Stejně jsem naimportoval i další certifikáty jako `postsignum_qca5_sub.cer`, `postsignum_vca4_sub.cer` atd.
 +
 +== Ověření importu ==
 +
 +Ověřil jsem obsah NSS databáze:
 +
 +<code bash>
 +certutil -d sql:$HOME/.pki/nssdb -L
 +</code>
 +
 +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 `~/.pki/nssdb`.
 +  * 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://www.postsignum.cz/files/navody/inst_ca_thunderbird/index.html
 +
 +{{.:pasted:20250726-111913.png}}
 +
 +{{.:pasted:20250726-111918.png}}
 +
 +{{.:pasted:20250726-111929.png}}
 +
 +{{.:pasted:20250726-111933.png}}
 +
 +**Je potřeba postupně instalovat všechny certifikáty autorit.**
 +
 +{{.:pasted:20250726-111940.png}}
 +
 +== Přidání certifikátu ==
 +
 +zdroj: https://www.postsignum.cz/files/navody/thunderbird/index.html
 +
 +{{.:pasted:20250726-112013.png}}
 +
 +{{.:pasted:20250726-112017.png}}
 +
 +{{.:pasted:20250726-112022.png}}
 +
 +{{.:pasted:20250726-112027.png}}
 +
 +{{.:pasted:20250726-112032.png}}
 +
 +Zde bude zobrazen nově naimportovaný certifikát. Pokud je vše v pořádku, potvrďte tlačítkem OK.
 +
 +{{.:pasted:20250726-112046.png}}
 +
 +{{.:pasted:20250726-112051.png}}
 +
 +Vyberte požadovaný certifikát a potvrďte jej tlačítkem OK.
 +
 +{{.:pasted:20250726-112111.png}}
  • it/linux/elektronicky-podpis.1752247200.txt.gz
  • Poslední úprava: 2025/07/11 15:20
  • autor: Petr Nosek