Gits HTTPS-Proxy kann ein eigenes Client-Zertifikat verlangen
Konfigurieren Sie TLS-CA, Client-Zertifikat und privaten Schlüssel des Proxys getrennt von den TLS- und HTTP-Anmeldedaten des Repositorys.
Manche HTTPS-Forward-Proxys fordern beim TLS-Aufbau von Git zum Proxy ein Client-Zertifikat an. Das ist ein eigener Authentifizierungsvorgang, unabhängig von der Anmeldung am Repository.
Für ein kompatibles Git/libcurl-TLS-Backend mit PEM-Dateien sieht die relevante Konfiguration so aus:
[http]
proxy = https://proxy.example:8443
proxySSLCAInfo = /secure/proxy-ca.pem
proxySSLCert = /secure/proxy-client.pem
proxySSLKey = /secure/proxy-client.key
proxySSLCertPasswordProtected = trueVerwenden Sie die tatsächlichen Dateien, die für das TLS-Setup des Proxys bereitgestellt wurden. Wenden Sie die Konfiguration im vorgesehenen Git-Bereich an; eine repository-lokale Konfiguration kann diesen Weg auf diese Arbeitskopie beschränken.
| Einstellung | Rolle |
|---|---|
| proxySSLCAInfo | CA-Bundle zur Überprüfung des HTTPS-Proxys |
| proxySSLCert | Client-Zertifikat, das dem Proxy vorgelegt wird |
| proxySSLKey | Privater Schlüssel passend zum Client-Zertifikat |
| proxySSLCertPasswordProtected | Aktiviert Gits Passwortabfrage für geschütztes Proxy-Zertifikat und Schlüsselmaterial |
Die Proxy-URL mit https:// ist für diesen TLS-Austausch unerlässlich. Ein einfacher HTTP-Proxy, der CONNECT zu einem HTTPS-Repository überträgt, führt dadurch keine TLS-Client-Zertifikatsauthentifizierung an seinem eigenen Listener durch.
Das Zertifikatsvertrauen des Repositorys und ein etwaiges Repository-Client-Zertifikat haben ihre eigene ssl-Konfiguration. Ebenso ist eine HTTP-Proxy-Aufforderung über Proxy-Authenticate ein anderer Authentifizierungsmechanismus.
Prüfen Sie beim Pflegen dieses Setups die eingebundene libcurl-Version, das TLS-Backend und das unterstützte Zertifikatsformat. Ein Pfad zu einem PEM-Zertifikat ist kein portabler Ersatz für die Zertifikatsspeicher-Schnittstelle jeder Plattform.