Назад | Перейти на главную страницу

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

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

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

Однако это не решает проблему, когда я все еще не могу подключиться к серверу с помощью Java-клиента, поскольку получаю то же самое. sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target исключение.

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

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

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

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