Сертификация SSL с nginx и tomcat

У меня есть сервер nginx, который может пересылать запросы с поддоменов ropi.io . Я хочу защитить соединение с помощью SSL, поэтому я создал сертификат с именем ropi.pem и добавил его как ssl_certificate , так и ssl_certificate_key , так как я его создал с OpenSSL, где и ключ, и сертификат были одним файлом.

Он отлично работает, когда клиенты браузера хотят подключиться к серверу, но в некоторых случаях мне действительно нужно подключиться к клиенту Java.Проблема в том, что Java Keystore не может импортировать файлы .pem , поэтому я - снова с помощью OpenSSL - преобразовал их в формат .der , который принимает Keystore.

Это, однако, не устраняет проблему, когда я все еще не могу подключиться к серверу с помощью Java-клиента, поскольку я получаю то же исключение sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенного целевого исключения .

Существует ли общий формат, который Nginx и Java Keystore могут использовать и который также работает для доменов, CN и т. Д.?

Я новичок, когда дело доходит до сертификации SSL, но я полон решимости учиться, так что проявите ко мне терпение.

0
задан 19 February 2019 в 23:50
1 ответ

Я нашел решение: мне пришлось создать сертификат из ключевого файла с четко указанным доменом (он скажет, где он нужен при генерации).

Я использовал команда openssl req -x509 -sha256 -nodes -days 365 -key ../nginx/ropi.pem -out certificate.crt убедилась, что нужные файлы добавлены в правильное хранилище ключей, и я был все готово

0
ответ дан 5 December 2019 в 03:59

Теги

Похожие вопросы