Подпись почтового сообщения с помощью openssl

Установка сертификата в Thunderbird

Установка сертификата и секретного ключа из файлов PKCS#12 в Thunderbird выполняется с помощью менеджера сертификатов этой программы (Thunderbird мог бы и сам извлекать сертификаты из хранилища Forefox, но он этого не делает). Откройте окно Thunderbird Preferences, перейдите в группу Privacy, откройте вкладку Security и вызовите менеджер сертификатов, щелкнув кнопку View Certificates. Теперь вы можете добавить сертификат, щелкнув кнопку Import. В процессе установки сертификата и секретного ключа из пакета PKCS#12 Thunderbird спросит у вас два пароля – мастер-пароль, который программа использует для защиты хранящихся в ее настройках секретных ключей, и пароль, которым защищен пакет PKCS#12. Если вы используете сертификат CACert, вам необходимо также установить КС CACert. (КС доступен на сайте CACert, его следует устанавтть точно так же, как и личный сертификат). После того как КС установлен, перейдите на вкладку Authorities в окне менеджера сертификатов, найдите в списке нужный КС, щелкните кнопку Edit и установите флажок This Certificate Can Identify Mail Users.

При отправке подписанного сообщения из Thunderbird следите за тем, чтобы почтовый ящик, с которого вы посылаете сообщение, совпадал с почтовым ящиком, указанным в сертификате. Так же как и KMail, клиент Thunderbird запрашивает пароль, защищающий секретный ключ, перед тем как подписать сообщение.

Если ваша любимая почтовая программа не поддерживает сертификаты X.509 напрямую, это еще не значит, что вы не можете их использовать. С помощью утилиты openssl и пакета «сертификат + СК» в формате PEM (такой пакет можно создать, например, с помощью программы Kleopatra), вы можете подписывать почтовые сообщения, сохраненные в файле на диске:

openssl smime -sign -in message.eml -out message-signed.eml -signer cert.pem -noverify

Опция –noverify позволяет отключить проверку сертификата, удостоверяющего подпись. Файл message-signed.eml будет содержать подписанное сообщение. Другие опции openssl позволяют встроить эту утилиту в цепочку программ, выполняющих создание и отправку сообщений. Советую ознакомиться с документацией к этой мощной утилите.

Использование сертификатов в OpenOffice.org

Программы из пакета OpenOffice.org могут использовать для подписи документов ключи и сертификаты, установленные в браузере Firefox (OpenOffice умеет извлекать сертификаты из хранилища Firefox автоматически). Если ваш личный сертификат не установлен в Firefox, вы можете установить его с помощью менеджера сертификатов Firefox, описанного выше. Для того чтобы подписать документ в OpenOffice.org, необходимо выбрать команду меню File|Digital Signatures и в открывшемся окне щелкнуть кнопку Add. Будет открыт список личных сертификатов, в котором можно выбрать сертификат/ключ для подписи. О том, что документ OpenOffice подписан и цифровая подпись цела, свидетельствует пиктограмма в строке состояния окна OpenOffice, изображающая документ с красной печатью (если изменить подписанный документ, этот значок исчезнет). Желтый треугольник с восклицательным знаком на пиктограмме свидетельствует о том, что проверить подлинность сертификата, подтверждающего подпись, не удалось. Это может быть вызвано тем, что соответствующий КС не установлен, или для него не установлено право удостоверения сертификата, предназначенного для подписи контента. Для исправления этой ошибки откройте окно менеджера сертификатов Firefox и перейдите на вкладку «Центры сертификации». Если КС для вашего сертификата отсутствует, его следует установить в Firefox. Если нужный КС установлен, выделите его в окне менеджера сертификатов и щелкните кнопку «Изменить». Установите флажки «Этот сертификат может идентифицировать пользователя электронной почты» и «Этот сертификат может идентифицировать программное обеспечение».

Жирный восклицательный знак на пиктограмме, отображающей состояние подписи документа OpenOffice, свидетельствует о том, что структура подписи была нарушена (или удостоверяющий кК сертификат не валиден).