Клиент SSL - когда нужен сертификат? - PullRequest
2 голосов
/ 24 ноября 2010

У меня есть это:

    SSLSocketFactory factory = HttpsURLConnection.getDefaultSSLSocketFactory();
    SSLSocket socket = (SSLSocket) factory.createSocket("www.verisign.com", 443);

Это ошибка во 2-й строке с ошибкой «Отказано в соединении».

Теперь мне нужно будет установить сертификат Verisign в моем хранилище доверенных сертификатовпрежде чем я смогу сделать выше?У меня сложилось впечатление, что я могу подключиться к серверу SSL и выполнить getPeerCertificates () для получения сертификатов.Разве это не то, что делают наши браузеры?Иначе как они узнали бы, какие полномочия подписи использовать?

(Очевидно, я использую Verisign в качестве примера. Мой реальный URL слишком неуместен, чтобы использовать его здесь ...)

Ответы [ 3 ]

1 голос
/ 24 ноября 2010

Обычно вам не нужно явно устанавливать сертификат сервера на ваш компьютер. PKI работает так, чтобы ваша система могла проверять сертификат сервера без каких-либо предварительных знаний об этом. Однако это будет работать только тогда, когда сертификат вашего сервера имеет свои корни в «известных центрах сертификации», то есть в центрах сертификации, корневые или другие сертификаты которых уже перечислены в клиентской системе. Если это не так (например, у вас есть самоподписанный или какой-либо другой пользовательский сертификат на сервере), вам действительно нужно установить сертификат в вашей клиентской системе, прежде чем упомянутые классы смогут правильно проверить сертификат сервера.

Вы можете прочитать о сертификатах и ​​о том, как они используются в SSL, здесь .

1 голос
/ 26 ноября 2010

Отказ в соединении означает, что на целевом хосте ничего не прослушивалось: порт или межсетевой экран мешали.Это логически и временно до всего, что делает SSL.

1 голос
/ 24 ноября 2010

Вы проверили, что удаленная служба на самом деле запущена и работает, и что вы можете подключиться к ней? Возможно, ошибка «Отказано в соединении» на самом деле является отклоненным соединением. : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...