У меня есть клиент Apache Async Http, который я использую для подключения к IP-адресам (вместо имени домена). Я хочу найти способ предоставить информацию SNI, что-то вроде этого, чтобы SSL-подтверждение могло произойти с правильным сертификатом.
Я пытался создать что-то с помощью PoolingNHttpClientConnectionManager и SSLIOSessionStrategy и т. д., но я не вижу возможности предоставить имя сервера http-клиенту и создать объект CloseableHttpAsyncClient. Любая помощь будет оценена!
Примером может быть подключение к конечной точке с помощью чего-то вроде openssl s_client -connect 1.2.3.4:443 -servername ab.cd.com. Если я не использую необработанный IP-адрес для подключения (вместо этого использую полное доменное имя), обработка SNI работает нормально с клиентом, но я не могу использовать IP-адрес и информацию о пользовательском имени сервера вместе с помощью клиента Apache HTTP Async ( Я пробовал использовать версию 4.1.3).
Я пытался просмотреть код HTTP-клиента Apache и найти класс, который я могу переопределить или при необходимости указать имя сервера поле. Я вижу, что это, вероятно, необходимо при создании SSLSocket или SSLEngine и может быть предоставлено как часть SSLContext, но я не нахожу способа добавить имя сервера с помощью какого-либо переопределения.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ername-sni