Предупреждение о безопасности Java SSL-соединение после смены сервера

64
8

После изменения сервера я получаю неприятное предупреждение SSL в браузерах (проверено FF и Chrome) при загрузке апплета, используемого в приложении JavaEE (Serlvet API 3). Предупреждение говорит: "Сертификат недействителен и не может использоваться для идентификации веб-сайт "Более подробное предупреждение гласит:" Органу сертификации, предоставившему сертификат, не доверяют ". Сообщения переведены на английский язык, поэтому, пожалуйста, извините незначительные различия. После этого сообщения я получаю сообщение Java, которое показывает, что Applet является обычным подписанным (диалог с синим знаком). Итак, Applet работает, только раздражающее сообщение.

Прежде чем я перешел на другой сервер, все было в порядке и сработало. Нет предупреждений о безопасности или что-то еще. Апплет подписывается сертификатом, который я запросил у CA. (rapidssl) Старая серверная среда была просто обычным веб-пространством, предлагаемым сторонним хостером. Теперь я перешел на свой собственный сервер, который использует XEN для размещения виртуальных машин. На одном из этих внутренних vm наш веб-сервер развернут. В соответствии с этим я определил правила брандмауэра для маршрутизации трафика http/https в vms. Также домен был портирован, был приобретен у старого хостера, а ip нового сервера привязан к домену. Я использую Tomcat 7 в качестве Application Server для ОС на основе debian.

В старой среде я мог использовать указанный url в CN моего подстановочного сертификата (например, *.domain.com). В новой среде в основном сообщении говорится: *.domain.com: порт не является надежным сайтом. Я действительно думал, что сертификаты SSL не зависят от используемого порта. Я читал это и в некоторых исследованиях. Я также искал здесь много потоков, но предполагаемые ответы не помогли мне.

Сертификат и корневой сертификат. импортируются в собственные хранилища хранилища ключей Java. В Tomcat 7 я использую реализацию JSSE для SSL с правильной настройкой файлов хранилища ключей.

Я уже пробовал это, но, как и я, не имеющий опыта работы с технологией SSL/TLS, проверенные решения могут даже решить мою проблему:

    Отключение SNI в Tomcat 7 (не работает) Добавление псевдонимов хоста в server.xml (не работает)

Может ли кто-нибудь уточнить, какова фактическая проблема или возникла одна и та же проблема?

@edit: в каких-либо журналах нет ошибок stacktraces ошибок, которые я мог бы предоставить здесь, также не исключаются исключения.

спросил(а) 2021-01-19T21:16:05+03:00 6 месяцев, 1 неделя назад
1
Решение
100

Понятно, благодаря Khanna111 Gaurav Khanna и jwv, что цепочка сертификатов не была настроена должным образом. Я думал, что если будут проблемы с цепочкой сертификатов, браузер сообщит мне об этом. Это не так. Когда мы перешли от старого хостера к новому серверу, они предоставили только сертификаты, но без закрытого ключа. Поскольку я не так много разбираюсь в SSL, я думал, что импорт промежуточных сертификатов и приобретенного сертификата достаточно.. Это не так :)

После споткнуться о inter-ca-certificate-in-java (ссылка в комментарии), я прочитал это, что решило мою проблему: почему Java не отправляет сертификат клиента во время установления SSL-подтверждения? & внешний веб-сайт: импортировать закрытый ключ и сертификат в хранилище ключей Java (JKS)

У меня были файлы certkey.key, publiccert.crt, intermediate_primary.cer и secondary_primary.cer.

Первым шагом было преобразование файлов.key и.crt в формат DER, как упоминалось в последней ссылке через OpenSSL из-за невозможности ввода ключа в ключ для хранения ключа в существующем хранилище ключей. После преобразования в формат DER я использовал инструмент ImportKey и создал новое хранилище ключей с ключом/сертификатом.

Второй шаг выполнялся в соответствии с инструкциями второй ссылки (Bruno Answer), поэтому она копировала и вставляла содержимое сертификата в один файл. После импорта пакета сертификатов в хранилище ключей все было в порядке.

Надеюсь, это поможет кому-то еще, что также не так знакомо с SSL.

ps из-за моего отсутствия репутации, я не могу упомянуть обо всех сайтах, которые я использовал.. Я дам им комментарии

ответил(а) 2021-01-19T21:16:05+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема