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

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

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

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

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

If you are in doubt which one to choose, you should use OpenPGP, see here (not applicable for the Nitrokey HSM 2, the Nitrokey HSM 2 currently supports the S/MIME/X.509 standard though, therefore the rest of the guide is applicable for the HSM 2 and other Nitrokeys). This page describes the usage of S/MIME email encryption.

You need to purchase a S/MIME certificate (e.g. at CERTUM) or may already got one by your company. Furthermore, you need to install OpenSC on your System. While GNU/Linux users usually can install OpenSC over the package manager (e.g. sudo apt install opensc on Ubuntu), macOS and Windows users can download the installation files from the OpenSC page.

Примечание

Пользователям Windows с 64-битной системой (стандарт) необходимо установить как 32-битную, так и 64-битную версию 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.

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

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