KMail/PGP MIME
Налаштування підписування повідомлень за допомогою GPG у KMail
© Fajar Priyanto, 2004
Створення, збереження та оприлюднення вашого ключа
1. Вам знадобиться програма gpg. Ця програма є частиною типового комплекту програм дистрибутива.
2. Створіть ваш власний ключ (виконайте команду від вашого користувача, не від користувача root):
gpg --gen-key
Виконайте настанови програми: вони очевидні і прості.
3. Перевірте, чи створено ключ:
gpg --list-key
Ви маєте побачити щось подібне до наведеного нижче (ви бачите реєстраційні дані автора статті):
:pub 1024D/85EEC6A5 2004-03-15 Fajar Priyanto (Knowledge is power! http://linux.arinet.org) sub 1024g/BBBB57F3 2004-03-15
4. Зверніть увагу на наведені вище дані. 85EEC6A5 — ідентифікатор ключа. Тепер експортуйте ваш відкритий ключ:
:gpg -ao fajar-pub.key --export 85EEC6A5
У відповідь у поточному каталозі має бути створено файл з назвою fajar-pub.key. У цьому файлі зберігаються дані копії вашого відкритого ключа. Цей файл мають імпортувати отримувачі вашої кореспонденції для перевірки ваших підписаних повідомлень. Ви можете оприлюднити цей ключ на серверах ключів, надіслати його отримувачам за запитом або розмістити його на вашому веб-сайті для звантаження.
Якщо ви зазирнете до файла ви побачите щось таке:
-- --BEGIN PGP PUBLIC KEY BLOCK-- -- Version: GnuPG v1.2.3 (GNU/Linux) mQGiBEBVTw8RBACaYvnDkgqNWyktg3urdE9mrpv63x3Iux2zVkuZk8pIRp5HeR/V [пропущено...] B394acuU4FdGN/EynYUAn1aRvNmgs0/IU2MDzYQpbHIaqpkE =B0cy -- --END PGP PUBLIC KEY BLOCK-- --
Крім того, вам варто створити резервну копію вашого закритого ключа на якомусь безпечному носії даних (однієї дискети для цього замало: її може бути пошкоджено). Скористайтеся такою командою:
$ gpg -ao secret.asc --export-secret-keys 85EEC6A5
У відповідь буде створено текстовий файл з даними вашого закритого ключа та назвою secret.asc. Доступ до цього файла не слід надавати нікому. Сховайте файл у безпечному місці (або, краще, у декількох місцях).
Нарешті, радимо вам створити сертифікат відкликання і зберегти його у безпечному місці, подалі від закритого ключа. Якщо ваш закритий ключ потрапить не у ті руки, ви зможете відкликати його, щоб ним не могли скористатися зловмисники. Для цього віддайте команду
$ gpg -a -o revoker.asc --gen-revoke 85EEC6A5
У відповідь буде створено текстовий файл з назвою revoker.asc, у якому міститиметься сертифікат відкликання.
Налаштування KMail на підписування повідомлень вашим ключем gpg
- Запустіть Kmail і скористайтеся пунктом меню .
- Виберіть пункт вашого профілю.
- Натисніть кнопки
- Програма автоматично покаже ваш ключ gpg, у нашому прикладі 85EEC6A5
- Якщо цього не сталося, натисніть кнопку , виберіть ідентифікатор ключа і натисніть кнопку
- Тепер налаштуйте Kmail на автоматичне підписування всіх ваших повідомлень за допомогою вашого ключа.
- У вікні налаштування Kmail перейдіть на сторінку
- Позначте такі пункти:
- Зберігати надіслані повідомлення зашифрованими,
- Завжди показувати ключі шифрування для схвалення,
- Автоматично підписувати повідомлення.
- Закрийте вікно налаштування натисканням кнопки .
Перевірка підписування створенням повідомлення
- Поряд з піктограмою закріпки (долучення) має з’явитися піктограма підписування повідомлень. Підписування буде задіяно.
- Створіть повідомлення і після завершення введення тексту надішліть його.
- Kmail попросить вас ввести пароль, який ви вказали на кроці створення ключа командою gpg --gen-key. Введіть пароль, Kmail покаже вікно підтвердження підписання повідомлення. Натисніть кнопку , щоб надіслати повідомлення.
- Якщо ви надіслали тестове повідомлення собі, ви побачите, що Kmail показує заголовок повідомлення зеленим кольором, з повідомленням, схожим на це: Повідомлення підписано Fajar Priyanto (Knowledge is power! http://linux.arinet.org) (ІД ключа: 0x85EEC6A5). Підпис є чинним, надійність ключа не обмежено.
- Ті, хто встановив у системі ваш відкритий ключ, теж побачать це повідомлення. Ті, у кого ключ не встановлено, побачать жовтий заголовок з повідомленням: Повідомлення було підписано невідомим ключем 0xBFE7357F. Чинність підпису не вдалося перевірити.
ВІТАЄМО!
Тепер ви можете вести обмін повідомленнями у безпечніший спосіб, якщо хочете. Звичайно ж, ці настанови дуже короткі і, можливо, не дуже зрозумілі. Гаразд, це вікі і ви можете покращити пояснення. Автор мав намір написати другу частину цих настанов, присвячену шифруванню повідомлень, імпортування відкритих ключів та встановленню додатків шифрування. Особливі подяки у створенні цих настанов автор хоче висловити Tim Sawchuck і Philip Cronje, а також всім друзям зі списку листування Mandrake.
Вади
- Повідомлення підписані вже відомим програмі ключем показуються у KMail належним чином, але нові ключі не імпортуються, і ви не можете підписувати повідомлення. Причиною є невстановлений пакунок. Встановлення пакунка pinentry-qt (можливою назвою є pinentry-qt4) вирішить обидві проблеми.
- Нові версії KMail не мають вбудованих інструментів створення підписів. Для роботи з підписами у цих версіях використовується OpenGPG. Керувати вашими підписами та імпортованими підписами можна за допомогою KGpg.
- У разі належної роботи OpenGPG вам доведеться вводити пароль кожного разу, коли ви надсилатимете документ, який слід підписати. Введення пароля є доволі набридливою процедурою. Набагато простіше налаштувати gpg-agent, який є частиною пакунка kdebase-common. На жаль, під час встановлення цього пакунка може бути не встановлено пакунок pinentry-qt(4) або pinentry-gtk (KDE або GNOME), отже його доведеться встановити окремо. У файл налаштувань gpg-agent буде записано налаштування KMail.
- Якщо цього каталогу ще немає у ~/.kde, створіть каталог з назвою env. У цьому каталозі створіть файл з назвою gpgagent.sh і вмістом
#!/bin/bash killall gpg-agent eval `gpg-agent --daemon`
Save it and make it executable.
In the same way you would clean up gpg-agent on shutdown, so if you do not have it already, create another directory called shutdown into ~/.kde and create in it another script file called stop_gpgagent.sh containing
#!/bin/bash killall gpg-agent
Save it and make it executable.
Troubleshooting Tips
grep gpg-agent
will list any running instances of gpg-agent.
killall gpg-agent
stops all instances
eval "$(gpg-agent --daemon)"
will restart the agent
gpg-agent status
should tell you if the agent is running.