De HTTPS-proxy van Git kan zijn eigen clientcertificaat vereisen
Configureer de TLS-CA, het clientcertificaat en de privésleutel van de proxy apart van de TLS- en HTTP-inloginstellingen van de repository.
Sommige HTTPS-forwardproxies vragen tijdens de TLS-verbinding van Git naar de proxy om een clientcertificaat. Dat is een aparte authenticatie-uitwisseling, los van het inloggen op de repository.
Voor een compatibele Git/libcurl-TLS-backend met PEM-bestanden ziet de relevante configuratie er zo uit:
[http]
proxy = https://proxy.example:8443
proxySSLCAInfo = /secure/proxy-ca.pem
proxySSLCert = /secure/proxy-client.pem
proxySSLKey = /secure/proxy-client.key
proxySSLCertPasswordProtected = true
Gebruik de werkelijke bestanden die voor de TLS-opzet van de proxy zijn geleverd. Pas de configuratie toe op het bedoelde Git-niveau; een configuratie op repositoryniveau kan deze route beperkt houden tot die checkout.
| Instelling | Rol |
|---|---|
| proxySSLCAInfo | CA-bundel waarmee de HTTPS-proxy wordt geverifieerd |
| proxySSLCert | Clientcertificaat dat aan die proxy wordt getoond |
| proxySSLKey | Privésleutel die bij het clientcertificaat hoort |
| proxySSLCertPasswordProtected | Schakelt de wachtwoordprompt van Git in voor beschermd certificaat- en sleutelmateriaal van de proxy |
De https://-proxy-URL is essentieel voor deze TLS-uitwisseling. Een gewone HTTP-proxy die CONNECT naar een HTTPS-repository doorgeeft, voert daarmee nog geen TLS-clientcertificaatauthenticatie uit op zijn eigen listener.
Het certificaatvertrouwen van de repository en een eventueel clientcertificaat van de repository hebben hun eigen ssl-configuratie. Evenzo is een HTTP-proxychallenge met Proxy-Authenticate een ander authenticatiemechanisme.
Controleer de gekoppelde libcurl-versie, de TLS-backend en het ondersteunde certificaatformaat bij het onderhouden van deze opzet. Een pad naar een PEM-certificaat is geen overdraagbare vervanging voor elke certificaatopslaginterface van een platform.