OpenSSL s_client через HTTP-прокси с базовой аутентификацией
Используйте параметры proxy_user и proxy_pass OpenSSL, сохраняя включённой проверку имени хоста назначения.
OpenSSL 3.x s_client предоставляет параметры пользователя прокси и источника пароля для HTTP CONNECT-прокси. Для среды, которая уже экспортирует PROXY_USER и PROXY_PASSWORD:
openssl s_client \
-proxy proxy.example.net:8080 \
-proxy_user "$PROXY_USER" \
-proxy_pass env:PROXY_PASSWORD \
-connect example.com:443 \
-servername example.com \
-verify_hostname example.com \
-verify_return_error
Реальные имена параметров используют подчёркивания: -proxy_user и -proxy_pass. Конечная точка прокси — host:port, а connect и servername определяют назначение.
proxy_pass использует синтаксис источника пароля OpenSSL. env:PROXY_PASSWORD читает указанную переменную среды; file:/path/to/file — другая документированная форма источника. Простой пароль — не тот же формат аргумента.
Показанные параметры запрашивают проверку сертификата и имени хоста, а ошибки проверки считаются фатальными. Укажите подходящую конфигурацию CA, например обязательный CAfile, для установки и назначения.
Эта аутентификация прокси — базовая аутентификация. Показанное подключение к прокси — обычный HTTP, поэтому последующее TLS-рукопожатие назначения не шифрует более ранний обмен данными для входа. Оно не реализует согласование прокси NTLM или Kerberos.