Mikrotik: Импортирование подписанного сертификата

Мы получили настоящий, подписанный SSL-сертификат для управления нашим Микротиком через HTTPS.
Нам нужны три файла:
— сертификат, подписанным неким провайдером сертификатов — файл «my.crt»;
— приватный ключ — файл «my.key»;
— промежуточные сертификаты (корневой и этого провайдера) вместе в одном файле — файл «im.crt»;

Загружаем эти файлы на Микротик через меню Files.
В разделе System — Certificates нажимаем кнопку Import и в выпадающем меню «Only File», выбираем файл с подписанным сертификатом «my.crt» и нажимаем кнопку «Import». После этого в списке сертификатов должен появиться наш и перед ним буквы L (crl) и T (trusted).
Теперь надо добавить наш ключ — делаем это так же через Import, после чего возле уже появившегося после предыдущего шага сертификата появится буква K (private-key).
Ну и теперь таким же образом импортируем промежуточные сертификаты из файла «im.crt» — их появится два, т.к. у нас два сертификата в одном файле. Получается, что можно импортировать их и по-отдельности, но я не пробовал. Я просто взял тот файл, который я использовал для Апача.

Теперь осталось указать веб-серверу Микротика использовать наш сертификат — в разделе IP — Services — www-ssl меню Certificate.

Только оставьте другой вход, например, ssh или простой www, т.к. ошибка с сертификатами может привести к тому, что вы не сможете зайти через HTTPS.

SSL-cертификат для postfix

Коротенько )

/etc/postfix/main.cf:
smtpd_use_tls = yes
smtpd_tls_auth_only = no

smtpd_tls_key_file = /etc/postfix/tls/mymail.key
smtpd_tls_cert_file = /etc/postfix/tls/mymail.crt
smtpd_tls_CAfile = /etc/postfix/tls/CA_bundle.pem

Создаём новый приватный ключ:
openssl genrsa -des3 -out mymail.key 2048

Создаём запрос для получения сертификата:
openssl req -new -key mymail.key -out mymail.csr

Заказываем сертификат на сайте регистратора. Я пользуюсь услугами Dynadot.com.

Создаём ключ без пароля:
openssl rsa -in mymail.key -out mymail-nopwd.key

Копируем ключ и сертификат в нужную папку:
cp mymail-nopwd.key /etc/postfix/tls/
cp mymail.crt /etc/postfix/tls/

Создаём промежуточный сертификат: берём отсюда корневой сертификат и сертификат нужного цетра сертификации (в данном случае AlphaSSL) и копируем в один файл CA_bundle.pem:
-----BEGIN CERTIFICATE-----
Корневой сертификат
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Промежуточный сертификат AlphaSSL
-----END CERTIFICATE-----


Ну и перезапускаем postfix.

Конечно, после обновления сертификата (если приватный ключ остался прежний) не нужно всё это делать заново, достаточно просто скопировать новый сертификат в файл mymail.crt. Ну и на всякий случай убедиться, что корневой и промежуточный сертификаты не изменились.

Указание SSL-сертификата для nginx

Для получения подписанного сертификата я использую службу Dynadot, провайдер сертификата — AlphaSSL.

При использовании apache проблем не было. Я прописывал в конфиге три файла — файл с подписанным сертификатом сайта, файл с ключом, и файл с промежуточными сертификатами:
SSLCertificateFile "/etc/httpd/conf/my.crt"
SSLCertificateKeyFile "/etc/httpd/conf/my.key"
SSLCaCertificateFile "/etc/httpd/conf/AlphaSSLroot.crt"

В файле AlphaSSLroot.crt приведены друг за другом корневой сертификат и сертификат AlphaSSL как промежуточные:
-----BEGIN CERTIFICATE-----
сертификат Root CA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат AlphaSSL Intermediate CA
-----END CERTIFICATE-----

В nginx только два аналогичных параметра — для файла с подписанным сертификатом и для файла с ключом:
ssl_certificate /usr/local/nginx/conf/my.crt;
ssl_certificate_key /usr/local/nginx/conf/my.key;

А вот куда указать промежуточные сертификаты, без них же не работает? Как оказалось их можно указать прямо в файле my.crt с подписанным сертификатом сайта, главное не перепутать последовательность:
-----BEGIN CERTIFICATE-----
подписанный сертификат вашего сайта
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат Root CA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат AlphaSSL Intermediate CA
-----END CERTIFICATE-----

Промежуточные сертификаты взяты с сайта AlphaSSL.