Частное веб-приложение должно получать зашифрованную электронную почту от 20 известных пользователей. Как я могу использовать OpenSSL для создания действительного сертификата шифрования, который пользователи Outlook могут импортировать и использовать для шифрования электронных писем, которые можно расшифровать после получения по адресу электронной почты, подключенному к моему приложению?
С этой целью я начал использовать код из ответа @ logicscope к этой другой публикации, который я здесь обобщу следующим образом:
$ openssl genrsa -aes128 -out email.key 2048
$ openssl req -new -key email.key -out email.csr -config email.cnf
$ openssl x509 -req -days 365 -in email.csr -CA ca.crt -CAkey ca.key -set_serial 10 -out email.crt
$ openssl pkcs12 -export -in email.crt -inkey email.key -out email.pfx
Где email.cnf
создан перед предыдущими шагами как:
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
C = {Country}
ST = {Provice/State}
L = {City}
O = {Org}
OU = {Org Unit}
CN = user@domain.com
emailAddress = user@domain.com
Проблема в том, что код выше не знает, где искать ca.crt
. Поэтому строка openssl x509 -req -days 365 -in email.csr -CA ca.crt -CAkey ca.key -set_serial 10 -out email.crt
приводит к следующему:
Signature ok
subject=/C=US/ST=CA/L=MyCity/O=MyOrganization/OU=MyUnit/CN=me@serverdomain.com/emailAddress=me@serverdomain.com
Error opening CA Certificate ca.crt
140570916620192:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('ca.crt','r')
140570916620192:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
unable to load certificate
Как создать действительный ca.crt
таким образом, чтобы пользователи Outlook могли использовать email.pfx
для шифрования электронной почты, которую мое приложение может расшифровать при получении? Нужно ли покупать сертификат? Это только для сервера разработки на данный момент. Было бы неплохо получить что-то на работу бесплатно. Например, пользователи Thunderbird могут отправлять электронные письма, зашифрованные с помощью ключа GPG, которые мое приложение может расшифровать.
Мой devbox работает под управлением Windows 7 и Outlook 2010.