Команды.
Ниже приведены команды из тех, что мы часто используем в регулярной работе, но из существует много больше. Читайте страницы руководства (man) для получения большей информации.
Создание ключа.
Прежде всего, если мы используем GnuPG в первый раз, для включения возможностей шифрования необходимо создать новую пару ключей (публичный и персональный).
Шаг 1.
Для создания новой пары ключей используйте следующую команду:
[root@deep /]# gpg --gen-key
gpg (GnuPG) 1.0.1; Copyright (C) 1999 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
This asks some questions and then starts key generation.
Шаг 2
Мы вновь запускаем GnuPG следующей командой:
[root@deep /]# gpg --gen-key
gpg (GnuPG) 1.0.1; Copyright (C) 1999 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/secring.gpg: keyring created
gpg: /root/.gnupg/pubring.gpg: keyring created
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection? 1
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
What keysize do you want? (1024) 2048
Do you really need such a large keysize? y
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
Когда вы импортировали ключи в свою базу данных публичных ключей и вы точно уверенны, что третье лицо, чей ключ вы положили, действительно тот за кого себя выдает, вы можете подписать его/ее ключ. Подписание ключа удостоверяет, что вы знаете его владельца.
Для подписания ключа компании Red Hat, который мы добавили выше, используйте команду:
[root@deep /]# gpg --sign-key <UID>
Например:
[root@deep /]# gpg --sign-key RedHat
pub 1024D/DB42A60E created: 1999-09-23 expires: never trust: -/q
sub 2048g/961630A2 created: 1999-09-23 expires: never
(1) Red Hat, Inc <security@redhat.com>
pub 1024D/DB42A60E created: 1999-09-23 expires: never trust: -/q
Fingerprint: CA20 8686 2BD6 9DFC 65F6 ECC4 2191 80CD DB42 A60E
Red Hat, Inc <security@redhat.com>
Are you really sure that you want to sign this key
with your key: "Gerhard Mourani <gmourani@videotron.ca>"
Really sign? y
You need a passphrase to unlock the secret key for
user: "Gerhard Mourani <gmourani@videotron.ca>"
1024-bit DSA key, ID E92D6C97, created 1999-12-30
Enter passphrase:
ЗАМЕЧАНИЕ. Вы должны подписывать ключ только когда абсолютно уверенны, что ключ действительно настоящий! Вы никогда не должны подписывать ключ, базирующийся на любых предположении.
Шифрование и дешифрование
После инсталляции, импортирования, подписания и конфигурирования мы можем начать шифровать и расшифровывать нашу работу.
Для шифрования и подписания данных для пользователя RedHat, ключ которого мы добавили выше, используйте следующую команду:
[root@deep /]# gpg -sear RedHat <file>
Например:
[root@deep /]# gpg -sear RedHat message-to-RedHat.txt
You need a passphrase to unlock the secret key for
user: "Gerhard Mourani (Open Network Architecture) <gmourani@videotron.ca>"
1024-bit DSA key, ID BBB4BA9B, created 1999-10-26
Enter passphrase:
Аргументы, которые использовались обозначают следующее, “s” – подписание (уменьшение риска что кто-то попытается представиться вами, очень полезно подписывать все, что вы шифруете), “e” - шифрование, “a” – создание ASCII защищенного вывода (“.asc” готовые для отправки по почте), “r” – шифрование имени идентификатора пользователя и <file> это сообщение, которое вы хотите зашифровать.
Для расшифровки данных используйте следующую команду:
[root@deep /]# gpg -d <file>
Например:
[root@deep /]# gpg -d message-to-Gerhard.asc
You need a passphrase to unlock the secret key for
user: "Gerhard Mourani (Open Network Architecture) <gmourani@videotron.ca>"
2048-bit ELG-E key, ID 71D4CC44, created 1999-10-26 (main key ID BBB4BA9B)
Enter passphrase:
Где “-d” означает расшифровку и <file> сообщение, которое вы хотите расшифровать. Важно, чтобы публичный ключ отправителя сообщения, которое мы хотим расшифровать, был в нашей базе ключей или ничего работать не будет.
Экспортирование вашего публичного ключа.
Вы можете расширить ваши горизонты экспортируя и распространяя свой публичный ключ. Это можно сделать публикуя его на вашей домашней странице, через доступные сервера ключей в Интернет или другими способами. GnuPG имеет несколько полезных опций, чтобы помочь вам публиковать ваш публичный ключ.
• Для извлечения вашего публичного ключа в ASCII защищенный вывод используйте команду:
[root@deep /]# gpg --export --armor > Public-key.asc
где “--export” для извлечения вашего публичного ключа из зашифрованного файла, “--armor” создать ASCII защищенный вывод, который вы можете отправлять, публиковать или выкладывать на веб-странице и “> Public-key.asc” говорит, что результат надо поместить в файл с именем Public-key.asc.
Проверка signature
Когда вы извлекли публичный ключ и экспортировали его, каждый кто знает или получит его может захотеть убедиться, что полученные от вас данные действительно от вас.
• Для проверки сигнатуры шифрованных данных используйте команду:
[root@deep /]# gpg --verify <Data>
Опция “--verify” будет проверять сигнатуру, а <Data> - зашифрованные данные/файл, который вы хотите проверить.