Шифрование электронной почты S/MIME#

Пререквизиты#

Существует два широко используемых стандарта для шифрования электронной почты.

  • OpenPGP/GnuPG популярен среди частных лиц,

  • S/MIME/X.509 в основном используется на предприятиях.

Если вы сомневаетесь, какой из них выбрать, используйте OpenPGP, смотрите здесь. На этой странице описано использование шифрования электронной почты S/MIME.

Вам необходимо приобрести S/MIME сертификат (например, на сайте CERTUM) или, возможно, он уже получен вашей компанией. Кроме того, вам необходимо установить OpenSC на вашу систему. В то время как пользователи GNU/Linux обычно могут установить OpenSC через менеджер пакетов (например, sudo apt install opensc на Ubuntu), пользователи macOS и Windows могут загрузить установочные файлы со страницы OpenSC.

Импорт существующего ключа и сертификата#

Следующие инструкции основаны на вики OpenSC. Мы будем считать, что вы уже получили пару ключ-сертификат в виде файла .p12. Пожалуйста, загляните на страницу вики, если вы получили отдельный файл ключа и сертификата.

Чтобы открыть командную строку Windows, нажмите клавишу Windows и клавишу R. Теперь введите „cmd.exe“ в текстовое поле и нажмите клавишу Enter. Чтобы открыть терминал на macOS или GNU/Linux, воспользуйтесь поиском приложений (например, spotlight на macOS).

Чтобы максимально упростить выполнение этих команд, файл .p12 должен находиться в вашей домашней папке. В Windows это обычно „C:Usersyourusername“, а в macOS и GNU/Linux - „/home/yourusername“. Если вы не храните файл .p12 там, вам придется изменить путь в командах ниже. Пожалуйста, подключите Nitrokey перед выполнением команд.

Если предположить, что ваш файл ключа-сертификата имеет формат „myprivate.p12“, то команды для Windows выглядят следующим образом:

"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs15-init" --delete-objects privkey,pubkey --id 3 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs15-init" --delete-objects privkey,pubkey --id 2 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin

а на macOS и GNU/Linux это будет

$ pkcs15-init --delete-objects privkey,pubkey --id 3 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin
$ pkcs15-init --delete-objects privkey,pubkey --id 2 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin

Эти две команды копируют пару ключ-сертификат в слот 2 (необходимый для расшифровки писем) и слот 3 (необходимый для подписи). На обеих системах результат выглядит примерно так:

имг1

Обратите внимание, что будут сообщения об ошибках, которые можно смело игнорировать (см. пример вывода выше). Теперь у вас есть пара ключ-сертификат, загруженная на Nitrokey.

Использование#

Более подробную информацию об использовании вы можете найти на этих страницах: