GNUPG
Z wiki linux-user
(Stworzenie strony) |
(Szyfrowanie i deszyfrowanie dokumentów za pomocą GnuPG) |
||
Linia 14: | Linia 14: | ||
GnuPG działa na procesorach GNU/Linux with x86, alpha, mips, sparc64, m68k lub powerpc. Więcej odnośnie obsługiwanych systemów i architektur można przeczytać na stronie [http://www.gnupg.org/download/supported_systems.en.html www.gnupg.org/download/supported_systems.en.html]. | GnuPG działa na procesorach GNU/Linux with x86, alpha, mips, sparc64, m68k lub powerpc. Więcej odnośnie obsługiwanych systemów i architektur można przeczytać na stronie [http://www.gnupg.org/download/supported_systems.en.html www.gnupg.org/download/supported_systems.en.html]. | ||
+ | === Tworzenie kluczy === | ||
+ | Na początku musimy utworzyć parę kluczy publiczny oraz prywatny, będziemy ich używać za każdym razem, kiedy będziemy chcieli stworzyć nowe klucze GnuPG w systemie. Używając poniższej komendy pierwszy raz GnuPG stworzy w systemie odpowiednie foldery oraz pliki będzie to wyglądał mniej więcej tak | ||
+ | To create a new key-pair, use the following command: | ||
+ | # gpg --gen-key | ||
+ | gpg (GnuPG) 1.0.7; Copyright (C) 2000 Free Software Foundation, Inc. | ||
+ | This program comes with ABSOLUTELY NO WARRANTY. | ||
+ | This is free software, and you are welcome to redistribute it | ||
+ | under certain conditions. See the file COPYING for details. | ||
+ | gpg: /root/.gnupg: directory created | ||
+ | gpg: /root/.gnupg/options: new options file created | ||
+ | gpg: you have to start GnuPG again, so it can read the new options file | ||
+ | używając tej komendy po raz drugi przejdziemy już do tworzenia faktycznych kluczy (prywatnego i publicznego). | ||
+ | # gpg --gen-key | ||
+ | gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc. | ||
+ | This is free software: you are free to change and redistribute it. | ||
+ | There is NO WARRANTY, to the extent permitted by law. | ||
+ | Please select what kind of key you want: | ||
+ | (1) RSA and RSA (default) | ||
+ | (2) DSA and Elgamal | ||
+ | (3) DSA (sign only) | ||
+ | (4) RSA (sign only) | ||
+ | Your selection? '''1''' | ||
+ | RSA keys may be between 1024 and 4096 bits long. | ||
+ | What keysize do you want? (2048) '''Enter''' | ||
+ | Please specify how long the key should be valid. | ||
+ | 0 = key does not expire | ||
+ | <n> = key expires in n days | ||
+ | <n>w = key expires in n weeks | ||
+ | <n>m = key expires in n months | ||
+ | <n>y = key expires in n years | ||
+ | Key is valid for? (0) '''Enter''' | ||
+ | Key does not expire at all | ||
+ | Is this correct? (y/N) '''y''' | ||
+ | You need a user ID to identify your key; the software constructs the user ID | ||
+ | from the Real Name, Comment and Email Address in this form: | ||
+ | "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" | ||
+ | Real name: '''Jan''' | ||
+ | Email address: jan@test1234.pl | ||
+ | Comment: Moje klucze | ||
+ | You selected this USER-ID: | ||
+ | "jan (Moje klucze) <jan@test1234.pl>" | ||
+ | Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O | ||
+ | Enter passphrase: haslo1234567890 | ||
+ | Repeat passphrase: haslo1234567890 | ||
+ | We need to generate a lot of random bytes. It is a good idea to perform | ||
+ | some other action (type on the keyboard, move the mouse, utilize the | ||
+ | disks) during the prime generation; this gives the random number | ||
+ | generator a better chance to gain enough entropy.'''(naciskaj cokolwiek na klawiaturze, ruszaj myszką, wykonuj jakieś operacje na komputerze)''' | ||
+ | jgpg: /root/.gnupg/trustdb.gpg: trustdb created | ||
+ | gpg: key B7939437 marked as ultimately trusted | ||
+ | public and secret key created and signed. | ||
+ | gpg: checking the trustdb | ||
+ | gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model | ||
+ | gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u | ||
+ | pub 2048R/B7939437 2012-09-11 | ||
+ | Key fingerprint = 3AFD 3E8A 4B50 EBF9 88D5 6325 4A39 34B5 B793 9437 | ||
+ | uid jan (Moje klucze) <jan@test1234.pl> | ||
+ | sub 2048R/64360F15 2012-09-11 | ||
+ | Tworzenie kluczy publicznego i prywatnego zakończyło się sukcesem. Klucze znajdują się w katalogu ''/root/.gnupg'' '''pubring.gpg''' oraz '''secring.gpg''' | ||
+ | === Eksportowanie kluczy dla użytkowników === | ||
+ | Po poprawnym utworzeniu kluczy jako użytkownik [[root]], należy wyeksportować klucz publiczny dla użytkowników. Pamiętaj nigdy nie rób tego z kluczem prywatnym!<br /> | ||
+ | Aby udostępnić w wygodny sposób Twój klucz publiczny (do formy czytelnej) wydajemy polecenie | ||
+ | gpg --export -ao klucz_publiczny | ||
+ | po tej operacji w katalogu w którym obecnie się znajdujemy utworzy się plik o nazwie klucz_publiczny (może być użyta dowolna nazwa), który powinien wyglądać mniej więcej tak | ||
+ | vim klucz_publiczny | ||
+ | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
+ | Version: GnuPG v1.4.12 (GNU/Linux) | ||
+ | mQENBFBO6GsBCADA2m1h36METjhR1kqyUeh/VuhPFX46DRR+MDwqbQghz8Q0iDTR | ||
+ | UpZJtYuX3NcApvYkQ9AdYTfuAlqBAtqlNzWx8YZ05+BMrfKMjyd0LqxBpNcAhD/3 | ||
+ | FGIo4NJ+bNSiI8J0b4+/u03gbHltrqohni9GbvvkBz0gAxIK8uRMnBvBim5DQOue | ||
+ | ZOG4ZnjxkL3rh5AowPWeTQmGJzPVIp6OFNaqemGoLjhtwU8L+H6MpUNnCpLNApof | ||
+ | 5NAuCYDvYbzk1F678jSIiV1VCPYEK3bNm+NPVlsDi5A3ISHlC/TMuhloGtR9Y73c | ||
+ | /QYyChr9kjqTn9PXLaxyB+FaEutw03mddk4lABEBAAG0K3NsYXdlayAoTW9qZSBr | ||
+ | bHVjemUpIDxzbGF3ZWtAbGludXgtdXNlci5ldT6JATgEEwECACIFAlBO6GsCGwMG | ||
+ | CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEEo5NLW3k5Q3fLAH/iHTtfMSi9lL | ||
+ | mdXamAPysaI5aAMGTj28OKjR2r3BzwlfW3jwa+PqP+8SbsIIUdmvugD4VsfXINKz | ||
+ | sNIhsNes8MH7TD/R8x2hw9psFelE4XJ2r6HyXz5/KBFPIpCCXzl6ZlHqkKh4Cnod | ||
+ | hFD7eaK5VwmCQjfGCNUkRC1k6rCndSJlGnbjzessCsm/Qg0HpjIWrCELGDfDNs5r | ||
+ | rrH9wfPEeYiKT2/b2A1Z7EvaM1ZupVIkuM0Nsmxvcvvd2w9rHF0h/GnRqsD3CEK/ | ||
+ | GPpdai3/IBt1m63X86tcj3tBP2CaSbkPAVc3JrUuiC5vK8FEOSO1DZZQtBPBcZvZ | ||
+ | o6IpgAiGDaq5AQ0EUE7oawEIALcz8Lsb/HpszRyQYZMRS8GG0PkL4efC9Ox8g7si | ||
+ | ACYFBQ+MwsN+8LDbSe7Mq5K5CSbjQU2iLNtqwfp8M7Eg90FtOaq7gplBbDDfpM5+ | ||
+ | GS1rwVKB2Rzl0l1Mvzfvr8XMMmuV1jtX/jhE+CgkFZcvvg2ntnxirI8a8iP8FDyz | ||
+ | ZSVlV2dPOgpyOEDOjx3u+tEshNh2CDPxbFHOok93qlwXKRF3Fgr9jBzSSQb82z/6 | ||
+ | fIuawngnnvPTk1oV0VB63aArl1/zp3bx7z4g2ikoZyPDnv5o59DMysZ5a8vKWAy2 | ||
+ | HDQVXGZ1iAypsylDhe2OlP72kIgY1VBhx3JNGYERiO9Nu5EAEQEAAYkBHwQYAQIA | ||
+ | CQUCUE7oawIbDAAKCRBKOTS1t5OUN90JB/sG69NHfret8bTuyRWpUyyXyCG1mCUu | ||
+ | bJ66GywgZCR4V75f9zyjqQTJBdFtyFqSK4kdfecXQUhWBuA4GV9Xse1ZL/7qeU8X | ||
+ | eFGG3keNhaTOvgGcQyNRpQXNaKwr5NIvCO1wjXTYKxLc41K1lJdeYSTR+ayCN+PN | ||
+ | BiDI7fsO284LLTnwUSv+X0nOJDJK2AJNLrWTLYAZ1hm0tq8XKiLztHTWxt8574XY | ||
+ | 58u+QaKchoJ83o+X7O0RUeAeWl5L+ksD78J2eF3b+u4v/MZKvQBOLj8gPPBVpAWn | ||
+ | S9MjeoEYRtcfPczR19sipMRLMQWfYH4fRoqFsrsmIybHjhvX/vJ/SkH5 | ||
+ | =hyOQ | ||
+ | -----END PGP PUBLIC KEY BLOCK----- | ||
+ | === Importowanie kluczy użytkowników === | ||
+ | Aby zaimportować klucz uzyskany od innego użytkownika należy pobrać klucz na maszynę, gdzie zainstalowane jest oprogramowanie GnuPG i wydać polecenie | ||
+ | # gpg --import nazwa_pliku_z_kluczem | ||
+ | gpg: key 3487965A: public key imported | ||
+ | gpg: /root/.gnupg/trustdb.gpg: trustdb created | ||
+ | gpg: Total number processed: 1 | ||
+ | gpg: | ||
+ | imported: 1 | ||
+ | Powyższa komenda doda nowy klucz ''nazwa_pliku_z_kluczem'' do bazy kluczy GnuPG. | ||
+ | === Podpisywanie kluczy użytkowników === | ||
+ | Jeśli już zaimportowaliśmy klucz użytkownika do naszej bazy kluczy i jesteśmy pewni, że dostarczony klucz jest faktycznie kluczem danego użytkownika to powinniśmy podpisać jego klucz.<br /> | ||
+ | Aby podpisać klucz dla nazwy NASZA_FIRMA wydajemy następujące polecenie | ||
+ | # gpg --sign-key NASZA_FIRMA | ||
+ | pub 1024D/3487965A created: 2001-07-02 expires: never | ||
+ | sub 1024g/0146F594 created: 2001-07-02 expires: never | ||
+ | (1). NASZA_FIRMA. <noc@openna.com> | ||
+ | pub | ||
+ | trust: -/q | ||
+ | 1024D/3487965A created: 2001-07-02 expires: never | ||
+ | trust: -/q | ||
+ | Fingerprint: 7A3D 6871 2DF1 9210 8ABE AF36 D460 86D5 3487 | ||
+ | 965A | ||
+ | NASZA_FIRMA. <noc@openna.com> | ||
+ | Are you really sure that you want to sign this key | ||
+ | with your key: "Gerhard Mourani <gmourani@openna.com>" | ||
+ | Really sign? '''y''' | ||
+ | You need a passphrase to unlock the secret key for | ||
+ | user: "Gerhard Mourani <gmourani@openna.com>" | ||
+ | 1024-bit DSA key, ID 2E5378F7, created 2002-04-24 | ||
+ | Enter passphrase: | ||
+ | PAMIĘTAJ powinieneś podpisywać tylko te klucze co do których nie masz najmniejszej wątpliwości, że są prawdziwe. | ||
+ | === Sprawdzanie sygnatury GPG === | ||
+ | Jak sprawdzić czy dane zaszyfrowane są faktycznie przez Ciebie?? wydajemy poniższe polecenie na zaszyfrowanym pliku | ||
+ | gpg --verify zaszyfrowane_dane | ||
+ | === Szyfrowanie i deszyfrowanie danych === | ||
+ | Aby zaszyfrować jakiś plik z danymi należy wykonać komendę | ||
+ | gpg -sear MOJA_FIRMA zaszyfrowane_dane | ||
+ | You need a passphrase to unlock the secret key for | ||
+ | user: "slawek (Moje klucze) <slawek@linux-user.eu>" | ||
+ | 2048-bit RSA key, ID B7939437, created 2012-09-11 | ||
+ | Enter passphrase: '''(to samo hasło, które używałeś do podpisywania kluczy)''' | ||
+ | |||
+ | w wyniku powyższej komendy powinien powstać zaszyfrowany plik zaszyfrowane_dane.asc | ||
+ | Aby odszyfrować tak powstały plik należy wydac polecenie | ||
+ | #gpg -d zaszyfronany_plik.asc | ||
+ | Enter passphrase: '''(to samo hasło, które używałeś do podpisywania kluczy)''' | ||
+ | You need a passphrase to unlock the secret key for | ||
+ | user: "slawek (Moje klucze) <slawek@linux-user.eu>" | ||
+ | 2048-bit RSA key, ID 64360F15, created 2012-09-11 (main key ID B7939437) | ||
+ | gpg: encrypted with 2048-bit RSA key, ID 64360F15, created 2012-09-11 | ||
+ | "slawek (Moje klucze) <slawek@linux-user.eu>" | ||
+ | To jest plik z bardzo ważnymi danymi!!!!!!!!!!!!!!!!!!!! | ||
+ | gpg: Signature made Tue 11 Sep 2012 10:21:42 AM CEST using RSA key ID B7939437 | ||
+ | gpg: Good signature from "slawek (Moje klucze) <slawek@linux-user.eu>" | ||
+ | Dane zawarte w pliku to ''To jest plik z bardzo ważnymi danymi!!!!!!!!!!!!!!!!!!!!''. | ||
<br /><google1 style="4"></google1> | <br /><google1 style="4"></google1> |