Путаница по поводу HTTPS -> Как происходит рукопожатие SSL - PullRequest
0 голосов
/ 06 сентября 2018

Я всегда был конечным потребителем HTTPS и никогда не понимал этого так хорошо, но надеюсь изменить это.

Я звоню в веб-службу RESTful через HTTPS. Например ...

curl -X GET \
  https://myCompanydns/rest/connect/v1.4/myEndpoint

Со всеми своими запросами я отправляю базовый заголовок аутентификации, т.е. имя пользователя и пароль.

Когда я делаю эти вызовы через свое приложение, я ожидал, что мне нужно будет добавить сертификат как jks (что я должен был делать в прошлом), но в этом случае я обнаружил, что могу вызывать HTTPS веб-сервис без этого.

Для работы HTTPS я полагаю, что есть рукопожатие SSL? Как это успешно происходит, если этот сценарий без JKS?

Опять же, извините за вопрос типа новичка.

1 Ответ

0 голосов
/ 06 сентября 2018

При выполнении запроса https://... клиент должен проверить, что сертификат сервера является ожидаемым, а не какой-то человек посередине.Это делается (среди прочего) путем проверки того, что сертификат сервера был выдан доверенным центром сертификации (CA).Какой CA является доверенным, настраивается в локальном хранилище доверенных сертификатов (т. Е. Локально для клиента).В приведенном выше вызове, где не указано явное хранилище доверия, curl использует хранилище доверия по умолчанию.В случае, когда вы явно передали jks, вы предоставили приложению определенное хранилище доверенных сертификатов, которое оно должно использовать.

Подробнее о проверке сертификатов сервера см. Структура сертификата SSL 101: Как браузер фактически проверяет действительность данного сертификата сервера? .

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