Robimy klucz GPG

Co jakiś czas mam potrzebę coś zaszyfrować, a potem odszyfrować. Posługuję się programem gpg. Nie wdając się w technikalia:

gpg --gen-key

uruchomi prosty kreatorek do generowania plików kluczy. Na trzy pierwsze pytania: rodzaj klucza, rozmiar klucza i czas przedawnienia nie odpowiadam, wciskając enter i pozostawiając ustawienia domyślne, czyli RSA and RSA, 2048, 0. Następnie podaję swoje imię i nazwisko (w zasadzie można wpisać cokolwiek). Tutaj radzę unikać polskich znaków, gdyż nigdy nie wiadomo jakie locale się trafi na jakiej maszynie i prędzej czy później będziemy oglądać krzaczki. Dalej podaję email (prawdziwy, lub nie). Potem gpg prosi o krótki komentarz do klucza, którego nie wpisuję i naciskam enter.

Teraz zaczyna się magia. 🙂 Powinniśmy dać komputerowi coś do roboty, by uzbierał sobie dużą ilość losowych danych, na których gpg będzie mógł pracować. Ja akurat miałem Pythona do skompilowania, ale może to być cokolwiek. Po kilku minutach nasz błyszczący klucz prywatny oraz publiczny znajdzie się w katalogu ~/.gnupg. Dobra… ale jeżeli mam więcej niż jeden komputer? Nie mogę wygenerować nowego klucza, podpisać się na nim tym samym imieniem oraz nazwiskiem oraz oczekiwać, że będzie identyczny.

Gpg przewiduje eskport oraz import kluczy. Eksport klucza publicznego i prywatnego:

gpg -a --export > publiczny.asc
gpg -a --export-secret-keys > prywatny.asc

Pliki te należy przenieść na drugi komputer w bezpieczny sposób, na przykład przez scp. Importujemy je tak:

gpg --import publiczny.asc
gpg --import prywatny.asc

Od teraz mamy identyczne klucze na dwóch różnych komputerach. Możemy się upewnić, że są na miejscu za pomocą:

gpg --list-keys