Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.
Редактирование PGP
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 32: | Строка 32: | ||
Зашифруем файл '''симметричным''' шифром (программа спросит пароль): | Зашифруем файл '''симметричным''' шифром (программа спросит пароль): | ||
− | + | gpg -c file.txt | |
Образуется файл ''file.txt.gpg''. | Образуется файл ''file.txt.gpg''. | ||
Расшифруем файл ''file.txt.gpg'': | Расшифруем файл ''file.txt.gpg'': | ||
− | + | gpg file.txt.gpg | |
При этом программа создаст файл ''file.txt''. | При этом программа создаст файл ''file.txt''. | ||
Создадим пару ключей для '''асимметричного''' шифрования и [[ЭЦП]]: | Создадим пару ключей для '''асимметричного''' шифрования и [[ЭЦП]]: | ||
− | + | gpg --gen-key | |
Всё, о чем спросит, можно оставить без изменений (нажимая ввод), кроме имени, адреса и комментария. По желанию можно указать пароль. | Всё, о чем спросит, можно оставить без изменений (нажимая ввод), кроме имени, адреса и комментария. По желанию можно указать пароль. | ||
Строка 92: | Строка 92: | ||
Key fingerprint = 7A9D 15DD 2E7C 44C7 CACA 6D59 27CC 8672 BC0A 6855 | Key fingerprint = 7A9D 15DD 2E7C 44C7 CACA 6D59 27CC 8672 BC0A 6855 | ||
uid test test (no comment) <test@example.com> | uid test test (no comment) <test@example.com> | ||
− | sub 2048R/4C920DE9 2013-03-03</pre> | + | sub 2048R/4C920DE9 2013-03-03 |
− | Хеш публичного ключа: BC0A6855, фингерпринт: 7A9D 15DD 2E7C 44C7 CACA 6D59 27CC 8672 BC0A 6855}} | + | </pre> |
+ | Хеш публичного ключа: BC0A6855, фингерпринт: 7A9D 15DD 2E7C 44C7 CACA 6D59 27CC 8672 BC0A 6855 | ||
+ | }} | ||
Посмотрим ещё раз на фингерпринт нашего ключа: | Посмотрим ещё раз на фингерпринт нашего ключа: | ||
− | + | gpg --fingerprint | |
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
$ gpg --fingerprint | $ gpg --fingerprint | ||
Строка 104: | Строка 106: | ||
Key fingerprint = 7A9D 15DD 2E7C 44C7 CACA 6D59 27CC 8672 BC0A 6855 | Key fingerprint = 7A9D 15DD 2E7C 44C7 CACA 6D59 27CC 8672 BC0A 6855 | ||
uid test test (no comment) <test@example.com> | uid test test (no comment) <test@example.com> | ||
− | sub 2048R/4C920DE9 2013-03-03</pre>}} | + | sub 2048R/4C920DE9 2013-03-03 |
+ | </pre>}} | ||
Укажем в настройках сервер ключей. Для этого добавим в файл ''.gnupg/gpg.conf'': | Укажем в настройках сервер ключей. Для этого добавим в файл ''.gnupg/gpg.conf'': | ||
− | + | keyserver hkp://pool.sks-keyservers.net | |
где pool.sks-keyservers.net — адрес сервера ключей. | где pool.sks-keyservers.net — адрес сервера ключей. | ||
Строка 113: | Строка 116: | ||
Отправим наш ключ в '''сервер ключей''': | Отправим наш ключ в '''сервер ключей''': | ||
− | + | gpg --send-keys хеш_ключа | |
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
$ gpg --send-keys BC0A6855 | $ gpg --send-keys BC0A6855 | ||
− | gpg: sending key BC0A6855 to hkp server pool.sks-keyservers.net</pre>}} | + | gpg: sending key BC0A6855 to hkp server pool.sks-keyservers.net |
+ | </pre>}} | ||
Серверы ключей обмениваются ключами между собой, поэтому достаточно загрузить ключ на один из них, а скоро он окажется доступен на всех серверах. | Серверы ключей обмениваются ключами между собой, поэтому достаточно загрузить ключ на один из них, а скоро он окажется доступен на всех серверах. | ||
Строка 124: | Строка 128: | ||
На другом компьютере получим ключ с сервера ключей: | На другом компьютере получим ключ с сервера ключей: | ||
− | + | gpg --recv-keys хеш_ключа | |
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
$ gpg --recv-keys BC0A6855 | $ gpg --recv-keys BC0A6855 | ||
Строка 130: | Строка 134: | ||
gpg: key BC0A6855: public key "test test (no comment) <test@example.com>" imported | gpg: key BC0A6855: public key "test test (no comment) <test@example.com>" imported | ||
gpg: Total number processed: 1 | gpg: Total number processed: 1 | ||
− | gpg: imported: 1 (RSA: 1)</pre>}} | + | gpg: imported: 1 (RSA: 1) |
+ | </pre>}} | ||
Теперь авторство файлов, подписанных этим ключом, будет считаться достоверным. | Теперь авторство файлов, подписанных этим ключом, будет считаться достоверным. | ||
Альтернативный способ передачи публичного ключа — через файл: | Альтернативный способ передачи публичного ключа — через файл: | ||
− | + | gpg --output файл_с_ключем.gpg --export | |
Можно добавить опцию --armor, чтобы файл получился текстовым. | Можно добавить опцию --armor, чтобы файл получился текстовым. | ||
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
Строка 140: | Строка 145: | ||
</pre>}} | </pre>}} | ||
Скопируем файл на другой компьютер и импортируем его: | Скопируем файл на другой компьютер и импортируем его: | ||
− | + | gpg --import файл_с_ключем.gpg | |
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
$ gpg --import /tmp/BC0A6855.gpg | $ gpg --import /tmp/BC0A6855.gpg | ||
gpg: key BC0A6855: public key "test test (no comment) <test@example.com>" imported | gpg: key BC0A6855: public key "test test (no comment) <test@example.com>" imported | ||
gpg: Total number processed: 1 | gpg: Total number processed: 1 | ||
− | gpg: imported: 1 (RSA: 1)</pre>}} | + | gpg: imported: 1 (RSA: 1) |
+ | </pre>}} | ||
Теперь нужно подписать ключ: | Теперь нужно подписать ключ: | ||
− | + | gpg --edit BC0A6855 sign | |
На втором компьютере '''зашифруем''' файл открытым ключом с первого: | На втором компьютере '''зашифруем''' файл открытым ключом с первого: | ||
− | + | gpg --recipient получатель --encrypt файл | |
Получателя можно указывать разными способами, например через хеш его ключа, имя или e-mail. | Получателя можно указывать разными способами, например через хеш его ключа, имя или e-mail. | ||
Чтобы скрыть получателя, используйте --hidden-recipient вместо --recipient. | Чтобы скрыть получателя, используйте --hidden-recipient вместо --recipient. | ||
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
− | $ gpg --recipient BC0A6855 --encrypt 1.txt</pre> | + | $ gpg --recipient BC0A6855 --encrypt 1.txt |
+ | </pre> | ||
Получится файл 1.txt.pgp, который нужно отправить на первый компьютер. | Получится файл 1.txt.pgp, который нужно отправить на первый компьютер. | ||
}} | }} | ||
На первом компьютере расшифруем файл: | На первом компьютере расшифруем файл: | ||
− | + | gpg файл | |
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
$ gpg 1.txt.gpg | $ gpg 1.txt.gpg | ||
gpg: encrypted with 2048-bit RSA key, ID 4C920DE9, created 2013-03-03 | gpg: encrypted with 2048-bit RSA key, ID 4C920DE9, created 2013-03-03 | ||
− | "test test (no comment) <test@example.com>"</pre>}} | + | "test test (no comment) <test@example.com>" |
+ | </pre>}} | ||
'''Подпишем''' файл: | '''Подпишем''' файл: | ||
− | + | gpg --sign 1.txt # бинарный файл 1.txt.gpg, включает исходный файл | |
− | gpg --clearsign 1.txt # текстовый файл 1.txt.asc, включает исходный файл | + | gpg --clearsign 1.txt # текстовый файл 1.txt.asc, включает исходный файл |
− | gpg --detach-sig 1.txt # бинарный файл 1.txt.asc, не включает исходный файл (только подпись) | + | gpg --detach-sig 1.txt # бинарный файл 1.txt.asc, не включает исходный файл (только подпись) |
Проверим подпись: | Проверим подпись: | ||
− | gpg --verify файл_с_подписью # проверяет подпись | + | gpg --verify файл_с_подписью # проверяет подпись |
− | gpg --decrypt файл_с_подписью --output новый_файл # проверяет подпись и извлекает подписанный файл | + | gpg --decrypt файл_с_подписью --output новый_файл # проверяет подпись и извлекает подписанный файл |
{{NSFW|1=Пример|2=<pre> | {{NSFW|1=Пример|2=<pre> | ||
$ gpg --verify 1.txt.sig | $ gpg --verify 1.txt.sig | ||
Строка 193: | Строка 201: | ||
gpg: Good signature from "test test (no comment) <test@example.com>" | gpg: Good signature from "test test (no comment) <test@example.com>" | ||
$ cat a.txt | $ cat a.txt | ||
− | hello</pre>}} | + | hello |
+ | </pre>}} | ||
Опции -c, --encrypt и --sign можно использовать совместно. | Опции -c, --encrypt и --sign можно использовать совместно. | ||
Строка 199: | Строка 208: | ||
{{NSFW|1=Ещё|2= | {{NSFW|1=Ещё|2= | ||
Удалить чей-то публичный ключ: | Удалить чей-то публичный ключ: | ||
− | + | gpg --delete-keys кто-то | |
Протестировать импорт ключа (вхолостую): | Протестировать импорт ключа (вхолостую): | ||
Строка 206: | Строка 215: | ||
== См. также == | == См. также == | ||
− | * [[ | + | * [[Jabber/XMPP]] |
* [[RetroShare]] | * [[RetroShare]] | ||