OpenSSL s_client über einen HTTP-Proxy mit Basic-Authentifizierung
Nutzen Sie die Optionen proxy_user und proxy_pass von OpenSSL, während die Hostnamenprüfung des Ziels aktiv bleibt.
OpenSSL 3.x s_client bietet Optionen für Proxy-Benutzer und Passwortquelle für einen HTTP-CONNECT-Proxy. Für eine Umgebung, die PROXY_USER und PROXY_PASSWORD bereits exportiert:
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
Die tatsächlichen Optionsnamen verwenden Unterstriche: -proxy_user und -proxy_pass. Der Proxy-Endpunkt ist host:port, während connect und servername das Ziel kennzeichnen.
proxy_pass verwendet die Passwortquellen-Syntax von OpenSSL. env:PROXY_PASSWORD liest die genannte Umgebungsvariable; file:/path/to/file ist eine weitere dokumentierte Quellform. Ein bloßes Passwort ist nicht dasselbe Argumentformat.
Die gezeigten Optionen fordern Zertifikats- und Hostnamenprüfung an, wobei Prüffehler als fatal behandelt werden. Stellen Sie die passende CA-Konfiguration bereit, etwa eine erforderliche CAfile, für die Installation und das Ziel.
Diese Proxy-Authentifizierung ist Basic-Authentifizierung. Die gezeigte Proxy-Verbindung ist einfaches HTTP, daher verschlüsselt der spätere TLS-Handshake des Ziels diesen früheren Anmeldeaustausch nicht. Sie implementiert keine NTLM- oder Kerberos-Proxy-Aushandlung.