Обновление сертификата SSL, вызывающее проблемы - PullRequest
0 голосов
/ 29 марта 2011

Мы говорим с удаленным сервером для аутентификации пользователя.Веб-сервер использует сертификат SSL, подписанный Verisign.Обмен данными осуществляется по HTTP, и мы настроили ThreadSafeClientConnManager на использование фабрики SSL JVM по умолчанию:

SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory
                .getSocketFactory(), 80));
schemeRegistry.register(new Scheme("https", SSLSocketFactory
                .getSocketFactory(), 443));
ClientConnectionManager manager = new ThreadSafeClientConnManager(
                sDefaultHttpParams, schemeRegistry);

Недавно веб-сервер обновил свои сертификаты SSL, и это вызвало сбой нашего приложения.Что мы можем сделать, чтобы избежать этой проблемы?

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 29 марта 2011

Вы ничего не можете сделать, чтобы «избежать» проблемы, потому что это на самом деле не проблема, это основная «особенность» SSL-сертификатов и доверия к авторитетам.

Это довольно широкийвопрос, более подробная информация может помочь точно определить точную проблему, но вот первые две вещи, которые нужно проверить.

  1. Какой CA они обновили свой сертификат SSL для использования?Является ли он самоподписанным?
    Если сайт был обновлен до использования сертификата SSL, который использует нестандартный корневой центр сертификации, то вам нужно либо импортировать определенный сертификат SSL с помощью keytool, чтобы сообщить своей локальной JVM, что сертификатдоверяютЕсли они используют новые полномочия (а ваша организация доверяет этим корневым полномочиям), вам может потребоваться импортировать новый корневой центр сертификации, большинство основных функций поддерживаются по умолчанию, но я был вынужден иногда импортировать новые.

http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html

  1. Убедитесь, что их сертификат связан правильно.2-ая ​​самая распространенная проблема, которую я видел, это цепочка сертификатов (установка) администраторами сайта.К сожалению, IE / Mozilla / Java ... все используют разные механизмы проверки, чтобы убедиться, что SSL-сертификаты являются "действительными", и я обнаружил, что многие администраторы сайта не знают, как правильно связать сертификат с соответствующим корневым органом на своем сайте.Вы должны открыть сертификат в браузере (я бы открыл его в нескольких экземплярах) и проверить цепочку доверия, чтобы убедиться, что цепочки сертификатов с сайта полностью возвращаются к ожидаемому корневому ЦС.(Это также, как вы можете проверить корневой CA для # 1).Если у него нет цепочки доверия, проверка SSL JVM не будет выполнена (в то время как я видел, как Internet Explorer вызывает несвязанный сертификат «действительный» в более старых версиях IE).
...