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 = true

Verwenden 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.

EinstellungRolle
proxySSLCAInfoCA-Bundle zur Überprüfung des HTTPS-Proxys
proxySSLCertClient-Zertifikat, das dem Proxy vorgelegt wird
proxySSLKeyPrivater Schlüssel passend zum Client-Zertifikat
proxySSLCertPasswordProtectedAktiviert 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.

Ähnliche Artikel