Мне нужно вызывать разные службы с разными контекстами ssl. Нужно ли для этого использовать разные веб-клиенты или есть способ использовать только один?
Можем ли мы использовать один и тот же веб-клиент для разных контекстов ssl?
- Что вы подразумеваете под разными контекстами ssl и разными веб-клиентами? Можете ли вы показать нам пример кода? По моему опыту, концепция SSL обычно не возникает при использовании веб-клиента. Это все скрыто от вас. Так что я не понимаю вашего вопроса. 03.11.2020
- из этого я вижу, что вы можете использовать sslcontext для создания соединителя httpclient и использовать его для создания веб-клиента. В моем случае использования мне нужно подключиться к 2 конечным точкам diff с контекстом diff ssl. 03.11.2020
- Из этого? Что ты имеешь в виду? Можете ли вы показать пример кода того, как вы настроили httpclient с использованием определенного контекста ssl? 03.11.2020
- извини. Я думал, что положил URL здесь. stackoverflow.com/questions/45418523/ 03.11.2020
- К каким сайтам вы обращаетесь? Используют ли они самоподписанные или нестандартные сертификаты? Вот о чем этот вопрос. Этот вопрос не применим к стандартному случаю, например, к переходу на
apple.com
,google.com
или, возможно,yourwork.com
или к большинству других URL-адресов в Интернете. 03.11.2020 - я буду использовать самозаверяющие/нестандартные сертификаты. 03.11.2020
- Ой. В порядке. Хотел бы я, чтобы ты сказал это заранее. Я думаю, вы можете использовать один клиент, если будете следовать инструкциям в этом вопросе, на который вы ссылаетесь. Причина в том, что в этом коде нет ничего, что привязывало бы клиента к конкретному сертификату, поэтому клиент не привязан к конкретному сайту. Все, что делает этот код, я думаю, отключает проверку SSL-сертификатов. 03.11.2020
Ответы:
Ваш вопрос зависит от того, как вы хотите или должны настроить клиент для каждого из сайтов, к которым вы хотите подключиться. Разговаривая с вами в комментариях, я теперь понимаю, что:
Вы хотите подключаться к сайтам, защищенным HTTPS, которые используют самозаверяющие SSL-сертификаты.
Вы не хотите аутентифицировать эти сертификаты, а просто хотите игнорировать все проверки сертификатов клиентом.
Поскольку вы просто хотите создать клиент, который игнорирует SSL-сертификаты сайтов, к которым вы подключаетесь, вы можете следовать инструкциям по предоставленной вами ссылке этот, и вы сможете использовать только один настроенный таким образом клиент для подключения к любому количеству сайтов.
Даже если вы хотите проверить и доверять самозаверяющим сертификатам с этих сайтов, к которым вы хотите получить доступ, вы, вероятно, могли бы сделать это с помощью одного клиента. Все, что вам нужно сделать, это зарегистрировать каждый сертификат у клиента, чтобы он доверял этому сертификату. Вы можете сделать так, чтобы клиент доверял нескольким сертификатам, помещая каждый из них в одно и то же хранилище доверенных сертификатов, которое используется клиентом.
Итак, краткий ответ здесь: нет, вам не нужно создавать более одного клиента.