GPG
Здесь написано о GnuPG, как им пользоваться и при этом понимать, что делаешь.
В статье идёт речь исключительно о консольном клиенте
gpg
, удобнее всего с ним работать в терминале наlinux/macos
машине.
Официальный сайт GnuPG здесь, огрызки смыслов в виде официального руководства здесь, статья в ру-википедии здесь.
А эта статья адресована техноманьякам, поскольку нормальные люди GnuPG (как и PGP) использовать не будут.
Шифровка / расшифровка
Зашифровать файл
gpg -e -a -r keyname@key.key filename.txt
ключ | Описание |
---|---|
-e | Encrypt зашифровать файл |
-a | ASCII режим, полезно для техствых файлов |
-r | recipient name ключ пробел файл |
Расшифровка
ключ | Описание |
---|---|
-d | Decrypt режим расшифровки |
-o | output выходной файл пробел зашифрованный файл |
Для расшифровки текстовых ASCII
сообщений удобно все сообщение вставить файл.
С расширением asc
. И просто перевести его используя ключ -d
.
gpg -d input.asc
В результате, в консоль выпадет текст расшифрованного сообщения в открытом виде.
Расшифровать файл
gpg -d -o (выходной файл) (файл расшифровуемый)
Имя ключа подставлять не нужно, если он есть, прогармма найдет его сама.
Короткая выжимка основных операций. Подробности в разделах ниже.
Посмотреть список ключей
Ключ | Команда | Описание |
---|---|---|
-k | --list-keys | список всех публичных ключей |
-K | --list-secret-keys | просмотра приватных ключей |
Команда --list-keys
или -k
печатает список всех публичных ключей.
Для просмотра приватных ключей есть --list-secret-keys
или -K
(большая)
gpg -k
Проверка подписей
Для проверки подписи используется опция --verify
Если цифровая подпись интегрирована в файл, то достаточно указать опцию --verify
, а затем проверяемый файл.
Если файл подписи находится в том же каталоге, указываем названия подписи. обычно *.asc
# подпись встроена в файл
gpg --verify test.php.gpg
# файл подписи в этом же каталоге вроверяемый файл.
gpg --verify test.php.asc
Если цифровая подпись отделена от файла, то после опции --verify
нужно указать два аргумента: вначале идёт файл с подписью, а затем подписанные данные:
gpg --verify (файл с сигнатурой) (проверяемый файл)
Если есть файл ключ, то можно добавить его --keyring (путь к ключу)
gpg --verify --keyring (путь к ключу) (файл с сигнатурой) (проверяемый файл)
Импорт / экспорт
Команда | Описание |
---|---|
--export | экспорт публичных ключей > в файл |
--export-secret-key | эспорт приватных ключей > файл |
Пример экспорта публичного ключа -a
в ASCII
формате.
gpg --export -a key@mail.com > public.gpg
Пример экспорта приватного ключа -a
в ASCII
формате.
gpg --export-secret-key -a key@mail.com > secret.gpg
В результате будет создан файл public.gpg
/ secret.gpg
For import use --import
# import public key
gpg --import public.gpg
# import secret key
gpg --import secret.gpg
Редактирование / настройка ключей
Редактирование ключей выполняет команда --edit-key
Продление срока действия ключа
Выполняется через команду --edit-key
, далее выбирается ключ, который требует продления.
Пример:
gpg --edit-key 0x12345678
gpg > expire
...
gpg > save
Config
echo "keyid-format 0xlong
throw-keyids
no-emit-version
no-comments" > ~/.gnupg/gpg.conf
Полезное дополнительное чтиво
Как проверить цифровую подпись Tor Browser?
https://support.torproject.org/ru/tbb/how-to-verify-signature/
Как пользоваться gpg https://hackware.ru/?p=8215
man gpg
Шифруем файлы и пароли аки Царь с GPG и Pass! Диджитализируй