Tato stánka není oficiální dokumentací ani manuálovou stránkou, je to jen stručný popis generování klíče a zacházení s ním…
Vygenerování klíče
Klíč pro GnuPG se generuje pomocí příkazu
gpg --gen-key
Po spuštění jsem vybral volbu (1) DSA a ElGamal (implicitní)
dále jsem zvolil délku klíče 1024 bajtů (myslím, že bohatě stačí…) Poté se zadá Jméno, email případně nějaká poznámka úplně na konec se zadává heslo 2x za sebou. Nakonec proběhne vygenerování klíčů (private, public). Klíče si vypíšeme příkazem gpg --list-keys
Přidávání(import) dalších veřejných klíčů (většinou je dostaneme jako textový soubor) se provádí pomocí příkazugpg --import file
Mazání klíče:gpg --delete-key 57548DCD
editace klíče:gpg --edit-key 57548DCD
Podepisování a ověřování
Podepisování souborů
Na hodně ftp serverech nacházíme kromě vlastního souboru jěště soubor se stejným jménem a příponou .asc, je to podpis. Ověření probíhá pomocí příkazu:
gpg --verify nejakej_soubor-i386.tgz.asc nejakej_soubor-i386.tgz.asc
Podepisování souborů:
gpg -s soubor
vytvoří podepsaný zkomprimovaný soubor s koncovkou .pgp který obsahuje i originální data
gpg --clearsign soubor
vytvoří podepsaný soubor s koncovkou .asc, která obsahuje i originální data a je v kódivání 7 bitové ASCI, lze poslat emailem
gpg -b soubor
vytvoří soubor s příponou .sig, který obsahuje pouze bínární formu podpisu
gpg -b --armor soubor
vytvoří soubor s koncovkou .asc, který obsahuje pouze ASCII podobu podpisu
Podepisování klíčů
Klíče se podepisují pomocí příkazu
gpg --lsign-key identifikator_uzivatele
takze pro podepsání mého (importovaného) klíče je třeba udělat toto:
gpg --lsign-key zdenda@zdenda.com
Šifrování a dešifrování
Šifrování:
gpg -er 0161626E filename
zašifruje soubor veřejným klíčem s ID 0161626E
gpg -esr 0161626E filename
vytvoří soubor šifrovaný veřejným klíčem daného ID a podepsaný vaším vlastním privátním klíčem
Dešifrování:
Pro dešifrování je tento příkaz:
gpg -o vystupni_soubor -d zasiforvany_soubor.gpg
Když se vynechá parametr -o vystupni_soubor, tak se výsledek vypíše na obrazovku.
Podepisování emailů
pine
Pro nainstalování podpory GnuPG do pine je potřeba spustit program(jen jednou!):
pinegpg-install
potom se při odesílání emailu objeví hláška:
Send message (unfiltered)?
pomocí CTRL-p nebo CTRL-n si přepneme na požadovanou akci, toto jsou možnosti:
Send message (unfiltered)?
Odeslání normálního, nepodepsaného a nešifrovaného emailu.Send message (filtered thru "gpg-sign")?
Odeslání podepsaného emailu.Send message (filtered thru "gpg-encrypt")?
Odeslání zašifrovaného emailu.Send message (filtered thru "gpg-sign+encrypt")?
Odeslání zašifrovaného a podepsaného emailu.
Když chceme poslat zašifrovaný email, tak musíme mít pro adresáta naimportovaný jeho veřejný klíč (jinak není pomocí čeho šifrovat…).
mutt
nastavení gpg v muttu je trošku složitější než je to v pine (ale ne o moc 🙂
V první řadě budete potřebovat soubor .gpg.rc
, ten si uložíte do svého domácího adresáře (~/.gpg.rc
), do svého ~/.muttrc
si připíšete řádky:
source ~/.gpg.rc
set fcc_clear
set forward_decrypt
unset pipe_decode
set pgp_ignore_subkeys # On OpenPGP keys only show the main key, not the sub.
unset pgp_autosign # pgp sign every outgoing mail. (send-hook?)
unset pgp_autoencrypt # pgp encrypt every outgoing mail. (send-hook?)
set pgp_create_traditional=ask-no # Use old-style PGP? (don't do it!)
set pgp_replyencrypt # Encrypt replies on encrypted mail
set pgp_replysign # Sign replies on signed mail
set pgp_replysignencrypted # Sign replies on encrypted mail
unset pgp_retainable_sigs # disable retainable signatures.
set pgp_verify_sig=yes # ask me whether I want to check a pgp signature
set pgp_timeout=7200 # forget PGP passphrase after 7200 seconds (=2 hours)
set pgp_strict_enc # allway use QP enc. with PGP.
unset pgp_long_ids # display 64bit PGP key-ids (don't change this!)
set pgp_show_unusable # show unusable PGP keys in menu
## napiste si tam mosto 0161626E id klice kterym chcete podepisovat
set pgp_sign_as=0x0161626E
# %n = number %k = key id %K = key id of the principal key
# %u = user id %a = algorithm %A = algorithm of the princ. key
# %l = length %L = length of the princ. key
# %f = flags %F = flags of the princ. key
# %c = capabilities %C = capabilities of the princ. key
# %t = trust/validity of the key-uid association
set pgp_entry_format="%4n %t%f %[%y/%m/%d] %4l/0x%k %-4a %2c %u"
set pgp_sort_keys=trust
# nesifrovat
send-hook . unset pgp_autoencrypt
# podepsat
send-hook . set pgp_autosign
# prerusit jestli neni subjekt
send-hook . set abort_nosubject=ask-yes
# Now the exceptions:
# Majordomo doesn't care about signatures or subject lines
send-hook Majordomo@ unset pgp_autosign
send-hook Majordomo@ set abort_nosubject=no
# Send encrypted to these people
#send-hook tim@cyberelk\.demon\.co\.uk set pgp_autoencrypt
#send-hook twaugh@redhat.com set pgp_autoencrypt
#send-hook bandregg@redhat\.com set pgp_autoencrypt
# Use the 'twaugh@redhat.com' key for this address
#pgp-hook tim@cyberelk\.demon\.co\.uk 44E96F28
Po napsání emailu múžete v nabídce před odesláním zvolit požadovanou akci gpg, menu se vyvolá stisknutím klávesy p
.
Možnosti: (š)ifrovat, (p)odepsat, podepsat (j)ako, (o)bojí, či (n)ic?
V případě, že se zobrazí nezkontrolovaný podpis stiskněte klávesu ESC a pak P
(SHIFT-p).
Tohle můžete přidat do ~/.procmailrc, upraví to hlavičku emailu která není úplně korektní.
# Add a "Content-Type: application/pgp" header so Mutt will know the # mail is encrypted. :0 fBw * ^-----BEGIN PGP MESSAGE----- * !Content-type: multipart | formail -i "Content-Type: application/pgp; format=text; x-action=encryptsign" # Add a "Content-Type: application/pgp" header so Mutt will know the # mail is signed. :0 fBw * ^-----BEGIN PGP SIGNED MESSAGE----- * !Content-type: multipart | formail -i "Content-Type: application/pgp; format=text; x-action=sign"
Můj .muttrc.
Comments are closed.