KMail/PGP MIME

From KDE Wiki Sandbox
Revision as of 17:22, 1 March 2019 by Yurchor (talk | contribs)
Other languages:

Налаштування підписування повідомлень за допомогою GPG у KMail

© Fajar Priyanto, 2004 (останнє оновлення у 2019 році)

Створення, збереження та оприлюднення вашого ключа

1. Вам знадобиться програма gpg. Ця програма є частиною типового комплекту програм дистрибутива.

2. Створіть ваш власний ключ (виконайте команду від вашого користувача, не від користувача root):

gpg --gen-key

Виконайте настанови програми: вони очевидні і прості.


3. Перевірте, чи створено ключ:

gpg --list-key

Ви маєте побачити щось подібне до наведеного нижче (ви бачите реєстраційні дані автора статті):

pub   rsa4096 2004-03-15 [SC]
      D9C687FBA8DB7AB93E06E737931BC29844664E2D
uid           [ultimate] Fajar Priyanto <mail@example.com>
sub   rsa4096 2004-03-15 [E]

4. Now, in order to export your public key:

gpg --armor --output fajar-pub.key --export mail@example.com

У відповідь у поточному каталозі має бути створено файл з назвою fajar-pub.key. У цьому файлі зберігаються дані копії вашого відкритого ключа. Цей файл мають імпортувати отримувачі вашої кореспонденції для перевірки ваших підписаних повідомлень. Ви можете оприлюднити цей ключ на серверах ключів, надіслати його отримувачам за запитом або розмістити його на вашому веб-сайті для звантаження.

Якщо ви зазирнете до файла ви побачите щось таке:

-- --BEGIN PGP PUBLIC KEY BLOCK-- --

mQGiBEBVTw8RBACaYvnDkgqNWyktg3urdE9mrpv63x3Iux2zVkuZk8pIRp5HeR/V

[пропущено...]

B394acuU4FdGN/EynYUAn1aRvNmgs0/IU2MDzYQpbHIaqpkE

=RIZC

-- --END PGP PUBLIC KEY BLOCK-- --

Крім того, вам варто створити резервну копію вашого закритого ключа на якомусь безпечному носії даних (однієї дискети для цього замало: її може бути пошкоджено). Скористайтеся такою командою:

$ gpg --armor --output secret.asc --export-secret-keys mail@example.com

У відповідь буде створено текстовий файл з даними вашого закритого ключа та назвою secret.asc. Доступ до цього файла не слід надавати нікому. Сховайте файл у безпечному місці (або, краще, у декількох місцях).

Нарешті, радимо вам створити сертифікат відкликання і зберегти його у безпечному місці, подалі від закритого ключа. Якщо ваш закритий ключ потрапить не у ті руки, ви зможете відкликати його, щоб ним не могли скористатися зловмисники. Для цього віддайте команду

$ gpg --armor --output revoker.asc --gen-revoke mail@example.com

У відповідь буде створено текстовий файл з назвою revoker.asc, у якому міститиметься сертифікат відкликання.

Налаштування KMail на підписування повідомлень вашим ключем gpg

  1. Fire up Kmail, and go to Settings -> Configure KMail -> Accounts -> Identities
  2. Choose the identity that you are using
  3. Then click Modify -> Cryptography -> OpenPGP signing key
  4. It will automatically show your gpg key, that is 'Your Name <mail@address.com>
  5. If it will not, click No key, and choose your key
  6. Now, set up Kmail to automatically sign all emails that you write using your key
  7. Still in the Cryptography tab, tick Automatically sign messages
  8. In the Kmail Configure menu, go to Security -> Composing
  9. Tick mark these:
    1. Store sent messages encrypted,
    2. Always show the encryption key for approval,
  10. Exit the configuration menu by clicking OK.


Перевірка підписування створенням повідомлення

  1. You will notice that there is a Sign Message banner. It's already active.
  1. Write your message and when you are done, send it.
  2. Kmail will ask for you to type the secret passphrase that you made during the gpg --gen-key step. Type it in, and then Kmail will show you a confirmation window of the signed message. Click OK to send it.
  3. If you test it by sending to yourself, you will notice that Kmail displays the message with a GREEN header, with words like this: Message was signed by Fajar Priyanto (Knowledge is power! http://linux.arinet.org) (Key ID: 0x85EEC6A5). The signature is valid and the key is ultimately trusted.
  4. People that have your public key will have that display also, but those who don't have the key, will have the message displayed in yellow with words like this: Message was signed with unknown key 0xBFE7357F. The validity of the signature cannot be verified.

ВІТАЄМО!

Тепер ви можете вести обмін повідомленнями у безпечніший спосіб, якщо хочете. Звичайно ж, ці настанови дуже короткі і, можливо, не дуже зрозумілі. Гаразд, це вікі і ви можете покращити пояснення. Автор мав намір написати другу частину цих настанов, присвячену шифруванню повідомлень, імпортування відкритих ключів та встановленню додатків шифрування. Особливі подяки у створенні цих настанов автор хоче висловити Tim Sawchuck і Philip Cronje, а також всім друзям зі списку листування Mandrake.


Вади

  • Повідомлення підписані вже відомим програмі ключем показуються у KMail належним чином, але нові ключі не імпортуються, і ви не можете підписувати повідомлення. Причиною є невстановлений пакунок. Встановлення пакунка pinentry-qt (можливою назвою є pinentry-qt4) вирішить обидві проблеми.
  • KMail no longer does in-line signatures. GnuPG has to be used instead. KGPG is a useful application that helps in the management of signatures, both your own and those collected.
Note
To be sure the "passphrase agent" (gpg-agent) is enabled, check your ~/.gnupg/gpg.conf and eventually uncomment the line containing "use-agent".
In KMail's Settings -> Configure KMail -> Security tab -> Miscellaneous, select GnuPG Settings, then Configure. On the GPG Agent page, give a path to which logs can be written (Write server mode logs to FILE), in case of problems. You can check the log in KMail's Tools -> Filter Log Viewer. It's probably a good idea, too, to increase the cache time - I use 3600.


Попередження
Наведені нижче скрипти запуску і завершення роботи може бути вже передбачено у вашому дистрибутиві, але розташовано за іншими адресами. Не встановлюйте ці скрипти, якщо у вас немає проблем з запуском і завершенням роботи.


  • If you do not have it already, in ~/.config/plasma-workspace create a directory called env. In there, create a file called gpgagent.sh containing
#!/bin/bash
killall gpg-agent
eval `gpg-agent --daemon`

Збережіть файл і надайте йому права доступу для виконання.

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 ~/.config/plasma-workspace and create in it another script file called stop_gpgagent.sh containing

#!/bin/bash
killall gpg-agent

Збережіть його і надайте файлу права для виконання.

Підказки з усування проблем

ps -edalf | 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.

More Information