Могу ли я создать свой собственный сертификат S / MIME для шифрования электронной почты? [закрыто]

19

У меня есть небольшая проблема здесь. Терпите меня, так как это может быть случай "не задавая правильный вопрос".

Предыстория: использование Apple Mail. Хотите зашифровать / расшифровать электронную почту, но GPGMail (и, очевидно, PGP) не поддерживается Snow Leopard.

В основном мне нужно создать сертификат S / MIME для использования в шифровании электронной почты. Я не хочу и не забочусь о Центре сертификации. Я просто хочу быстрый и грязный сертификат. Возможно ли это (с использованием OPENSSL и т. Д.) Или весь процесс зависит от более высокого уровня полномочий, заставляя меня либо установить полномасштабный центр сертификации, либо заключить сделку с компанией (например, Verisign, Thawte) для получения сертификата? Моими критериями являются мгновенное удовлетворение и бесплатно.

Лучший.

humble_coder
источник
1
Обратите внимание, что ваш сертификат используется для двух целей в S / MIME. Чтобы подписать ваши электронные письма и расшифровать электронную почту, отправленную вам кем-то еще. Чтобы зашифровать почту кому-то еще, вам понадобится их сертификат. Как правило, почтовые клиенты настроены из коробки, чтобы доверять некоторому предопределенному набору CA. Если сертификаты не подписаны одним из них, вы получите по крайней мере неприятное сообщение и, возможно, даже неработающую систему.
Джеймс восстановил Монику Полк
1
Я знаю, что это старый вопрос, но для дальнейшего использования плагин GPGMail теперь работает на Snow Leopard. Gpgtools.org/installer/index.html
Джейсон Уайтхорн,
Я знаю, что это старый комментарий, но GPGMail больше не является бесплатным для OSX.
nycynik

Ответы:

23

Да, это отстой, что Apple Mail не поддерживает GPG. :-( Я бы хотел, потому что я тоже предпочитаю зашифрованную электронную почту GPG.

Я также согласен с тем, что трудно получить информацию, касающуюся S / MIME и создания ваших собственных сертификатов электронной почты. Я обнаружил, что на веб-странице Пола Брамшера есть хорошее описание того, как создать собственный сертификат центра сертификации.

Я не претендую на полное понимание процесса сертификации, но это то, что я смог собрать вместе. Вам следует обратиться к man-странице openssl для получения более подробной информации о каждой из команд, показанных ниже.

Создать центр сертификации

Первым шагом является создание вашего собственного центра сертификации (CA). Команды ...

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

и следуйте инструкциям.

Вам нужно будет выдать сертификат вашего CA (т.е. содержимое ca.crt ) каждому получателю зашифрованной электронной почты. Получатели должны будут установить сертификат CA и доверять ему, чтобы зашифрованная электронная почта была доверенной. Установка будет отличаться для каждого используемого почтового клиента.

В вашем случае вам нужно будет добавить сертификат CA в цепочку ключей Apple. В Интернете есть много сообщений о том, как импортировать и доверять сертификату CA в цепочке для ключей Apple.

Создать личный запрос сертификата электронной почты

Теперь вам нужно создать запрос на сертификат. Создайте его для каждого адреса электронной почты, с которого вы хотите отправить сообщение. Выполните следующие команды ...

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

и следуйте инструкциям.

Центр сертификации подписывает ваш запрос на сертификат

Ваш личный сертификат должен быть подписан вашим CA. В этом случае вы!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

Результатом является ваш подписанный сертификат.

Подготовьте сертификат для импорта в почтовое приложение

Вам нужно конвертировать ваш сертификат из .crt(я думаю, формата PEM) в .p12(формат PCKS12).

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

Теперь вы можете импортировать *.p12*отформатированный сертификат в свой почтовый клиент. В вашем случае импортируйте *.p12*файл в связку ключей Apple. После правильной установки сертификата Apple Mail начнет использовать ваш сертификат.

Есть более легкий путь

Конечно, после того, как вы создали свой собственный центр сертификации, есть более простой способ управления сертификатами, созданными вашим собственным центром сертификации. openssl поставляется со скриптом с именем ...

# /usr/lib/ssl/misc/CA.pl

что упрощает процесс вашего собственного центра сертификации. Есть даже справочная страница для CA.pl!

Признать виновным
источник
В разделе Центр сертификации подписывает Ваш запрос на сертификат. Аргумент «-CAKey» должен быть «-CAkey» с строчными буквами «k» - по крайней мере, для моей версии Open SSL 1.0.0a 1 июня 2010 г.
KevM
2
Я изменил -CAKey на -CAkey. Это действительно отличный ответ, но дополнительный комментарий о GPG неоправдан. S / MIME имеет много преимуществ перед GPG. Помимо более широкой поддержки, он включает в себя сертификат с каждым подписанным сообщением, предоставляя встроенный механизм распространения сертификатов.
vy32
Не забудьте установить некоторые ограничения для сертификата, см. Security.stackexchange.com/a/30069/3272
Тобиас Кинцлер,
8

Бесплатно и подписано центром сертификации: http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

Эндрю МакГрегор
источник
1
Commodo использует тег <keygen>, чтобы позволить вашему браузеру сделать CSR без совместного использования приватного ключа. Это не работает в большинстве современных браузеров (например, Chrome 49+).
mhvelplund
Цитата со страницы: « Пожалуйста, используйте Mozilla® Firefox® или Microsoft® Internet Explorer® 8+ для получения вашего сертификата. Сертификаты по электронной почте не могут быть получены с помощью Google® Chrome® или Microsoft Edge. ». Это соответствует таблице совместимости из MDN .
Франклин Ю
работает с использованием сафари.
nycynik
1

Как уже говорили другие, ответ, очевидно, да. Вы можете сгенерировать его через openssl, или вы можете использовать одного из провайдеров, который дает бесплатный сертификат электронной почты x509.

При этом самый важный вопрос: чем пользуются люди, с которыми вы обмениваетесь электронной почтой? Я активен в сообществе свободного программного обеспечения, поэтому большинство людей, с которыми я обмениваюсь электронной почтой, используют GPG. Единственные, кого я знаю, которые используют S / MIME, делают это на своей рабочей электронной почте в соответствии с корпоративной политикой.

Если люди, которым вы пишете, не используют S / MIME, вы не сможете зашифровать их, и они не смогут проверять подписанные электронные письма.

Дэвид
источник