Статьи и публикации

Шифрование почты сертификатом на токене в системе Linux на примере JaCarta, Debian и почтового клиента Evolution

Интернет-портал Habrahabr.ru, июнь, 2018
Статья Карена Оганджаняна, ведущего менеджера проектов компании "Аладдин Р.Д."

В MS Windows есть неплохой механизм шифрования и подписи почты пользовательскими сертификатами на смарт-картах (токенах). Однако не всегда понятно, как с этим работать в гибридной ИТ-инфраструктуре, когда часть рабочих станций, а то и все, работают под управлением ОС с ядром Linux.

Проблема в том, что в Linux-дистрибутивах из коробки, как правило, программы не стремятся работать с ключевыми носителями, в нашем случае со смарт-картами. Однако, этот вопрос всегда можно решить доустановкой соответствующих модулей, которые есть в стандартных репозиториях и их настройкой.

В этой статье мы опишем процесс шифрования почты сертификатом на токене JaCarta разработки компании "Аладдин Р.Д.", в почтовом клиенте Evolution, в дистрибутиве Debian и продемонстрируем возможность шифрования почтовых сообщений в гибридной ИТ-инфраструктуре.

Общий принцип решения

  • При помощи команды modutil регистрируем библиотеку PKCS11 для почтового клиента.
  • После этого сертификат на JaCarta будет виден в списке личных сертификатов в настройках.
  • Далее указывается этот сертификат для операций sMIME.

7 шагов к шифрованию почты

Шифрование почты сертификатом на токене JaCarta в системе Debian и почтовом клиенте Evolution:

1. Устанавливаем пакет libnss3-tools:

# apt install libnss3-tools

2. Предварительно закрыв Evolution, регистрируем модуль:

modutil -add "JaCarta" -libfile /usr/lib/libjcPKCS11-2.so -dbdir ~/.local/share/evolution/
image

3. Подключаем JaCarta, запускаем Evolution (при входе в настройки должен быть запрошен PIN-код).

4. В настройках учётной записи, в разделе Security, выбираем сертификат для шифрования (Encryption certificate):

image

5. В адресной книге выбираем адресата.

6. Открываем свойства и в разделе "Сертификаты" указываем открытую часть сертификата этого пользователя из файла *.cer (данный файл можно экспортировать стандартными средствами, формат DER).

image

7. При отправке почты в опциях указываем S/MIME encrypt (Параметры → Зашифровать с помощью S/MIME).

Если в адресной книге у адресата указан сертификат, сообщение будет успешно зашифровано и отправлено, а также будет доступно получение и чтение зашифрованной почты.

Заключение

Аналогично мы можем настроить подпись сообщений. Для этого нужно будет на стороне отправителя и получателя добавить сертификат ЦС, который выпустил сертификат для пользователя:

image

Спасибо за внимание!