Соединение Java SSL и предупреждение НЕИЗВЕСТНОГО СЕРВЕРА - PullRequest
1 голос
/ 17 марта 2012

Я использую Netty для асинхронных запросов http (s). Когда URL для запроса - https, я добавляю это в конвейер:

SSLEngine engine = SecureChatSslContextFactory.getClientContext().createSSLEngine();
engine.setUseClientMode(true);

pipeline.addLast("ssl", new SslHandler(engine));

Это работает хорошо, я получаю ответ и все, но в вывод выводится предупреждение: НЕИЗВЕСТНЫЙ СЕРТИФИКАТ СЕРВЕРА , например, если я выдаю запрос: https://www.google.com вот что я получаю:

UNKNOWN SERVER CERTIFICATE: CN=www.google.com, O=Google Inc, L=Mountain View, ST=California, C=US

Поскольку все еще работает, для меня это не такая уж большая проблема, но я хотел бы знать две вещи:

  1. Почему я получаю это предупреждение? Сертификат googles является «хорошо известным», браузеры, похоже, не предупреждают об этом. Должен ли я как-то указать движку ssl, где искать сертификаты?

  2. Можно ли как-то перехватить это предупреждение во время выполнения вместо того, чтобы распечатать это сообщение?

Спасибо.

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Дейв,

Взгляните на пример кода в этой теме: Настройка Netty с двухсторонней защитой SSL (сертификат клиента и сервера)

Думаю, это поможет вам с настройкой хранилища ключей и доверенных сертификатов.

1 голос
/ 17 марта 2012

Убедитесь, что «хранилище доверия» правильно идентифицировано для Netty, когда вы делаете это, возможно, вам придется добавить $ {JAVA_HOME} / jre / lib / security / cacerts в качестве доверенного хранилища.

Если это не настроено, вы, вероятно, не сможете подключиться через SSL

...