Я можу відповісти лише на частину цього питання на Mac Mail, оскільки я не хочу перевіряти частину Thunderbird.
Я просто пишу цю частину для людей, які не знайомі з асиметричним шифруванням:
У цій формі шифрування потрібні два ключі, приватний та відкритий. Сертифікат у цьому сенсі - це не що інше, як відкритий ключ, але він містить трохи більше інформації, ніж просто ключ, він говорить про те, хто ви є, ваша організація тощо. Якщо це, вам доведеться почати спочатку, а людина, яка його вкрала, може розшифрувати все, тому зберігайте його збереженням та захищеним паролем. Зазвичай сертифікати підписують так звані органи сертифікації, і вони найчастіше беруть гроші за свою послугу. Ось чому деякі люди створюють власні сертифікати з сертифікатами власного підпису та власні підписи, що дешевше.
Спосіб шифрування електронної пошти полягає в тому, що ви надсилаєте комусь свій відкритий ключ (сертифікат), підписуючи його електронною поштою. Ви можете підписати будь-яку електронну пошту, оскільки не дасте шкоди, віддавши свій відкритий ключ. Потім ця інша особа має ваш відкритий ключ і зашифровує вам електронний лист за допомогою цього ключа. З цього моменту ніхто, окрім АНБ з можливим квантовим комп'ютером, не може розшифрувати це повідомлення за розумну кількість часу за відповідної довжини ключа. Або деякі люди проникають у фактичні бібліотеки шифрування, як помилка HEARTBLEED (серцебиття), яка, можливо, була навмисною, і хто знає, скільки ще цих задніх куточків є. Сертифікати зазвичай мають обмежений термін експлуатації, і їх потрібно поновлювати час від часу.
Тож речі потрібно забрати: вам потрібен державний та приватний ключ, а ви видаєте лише публічний.
Ось що я зробив:
Створили кореневий CA та підписуючий ЦС (вам це не потрібно, але це те, що я зробив), і я використав для цього цей дуже хороший підручник: багаторівневі СА в http://pages.cs.wisc.edu/~ zmiller / ca-howto /
Тоді я змінив свій openssl.conf таким чином, що Mac Mail дозволяє мені також використовувати сертифіковані для шифрування електронної пошти.
Важливим бітом є наявність keyUsage та extKeyUsage
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment
extKeyUsage = emailProtection, Apple .Mac email signing, Apple .mac email encryption
Для тих, хто любить специфікації, прочитайте це https://www.ietf.org/rfc/rfc2459 , але конкретних частин MacOS у ньому ви не знайдете.
Створено приватний ключ та сертифікат:
openssl req -newkey rsa:4096 -keyout <e-mail>.key -config openssl.cnf -out <e-mail>.req -days 3650
openssl ca -config openssl.cnf -out <e-mail>.crt -infiles <e-mail>.req
Ви можете стверджувати, що десять років - це занадто довгий термін служби сертифіката, але я хотів мати щось, що працює зараз і через 10 років, а то й менше, такий спосіб шифрування не буде працювати ні в якому разі. Я не хотів весь час поновлювати серти, оскільки створював їх для всієї своєї родини.
Якщо в цьому процесі щось не вдається, ви можете відкликати сертифікат:
openssl ca -config openssl.cnf -revoke <e-mail>.crt
Слід також створити кроли, але я цього також не робив.
Перетворені ключі у формат p12
openssl pkcs12 -export -in <e-mail>.crt -inkey <e-mail>.key -out <e-mail>.p12
Імпортовано p12 до KeyChain в ОС X 10.9.4 (13E28)
Позначив це як довірене
Пов’язаний сертифікат з поштовим обліковим записом у налаштуваннях пошти MacOS у розділі Інформація про обліковий запис у полі Сертифікат TLS. Надішліть пошту на іншу електронну адресу, яка також має сертифікат і ключ, і підписала повідомлення своїм відкритим ключем, добре, що MacOS Mail зробив це для мене.
Отримав пошту і відправив назад свій перший зашифрований лист.
Що сталося зі мною, коли я спробував процедуру зі своєю дружиною, було те, що символ блокування у моїй відповіді на першу підписану пошту був заграє сірим кольором, і я здивувався. Це означало, що я не можу зашифрувати пошту. Причиною було те, що я отримав підписаний лист, який надіслала мені моя дружина, але я не позначив тут підпис як довірений у брелоку MacOS, оскільки всі підписи, які отримує, також закінчуються там. Після позначення довіри та перезавантаження пошти все працювало нормально.
Можливо, хтось або навіть людина, яка запитує, може додати відповідь до цієї відповіді.