Подпись файла с помощью gpg

Цифровая подпись позволяет получателю убедиться, что данные не были изменены и принадлежат конкретному человеку. Принцип работы довольно прост: GPG вычисляет SHA-256 хеш данных и создает подпись, используя этот хеш и закрытый ключ.

Сначала нужно сгенерировать ключ:

gpg --full-generate-key

Программа задаст несколько простых вопросов, после чего создаст ключи — в том числе и для подписи (subkey). Посмотреть список созданных ключей:

gpg --list-keys 

Из этого списка понадобится KEY-ID нового ключа. Теперь можно экспортировать открытый ключ в файл для дальнейшего распространения:

gpg --armor --export KEY-ID > key.asc

Чтобы подписать файл:

gpg --armor --detach-sign --local-user KEY-ID page.hash

В результате будет создан файл page.hash.asc. Проверить подпись можно командой:

gpg --verify page.hash.asc page.hash