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.

InstellingRol
proxySSLCAInfoCA-bundel waarmee de HTTPS-proxy wordt geverifieerd
proxySSLCertClientcertificaat dat aan die proxy wordt getoond
proxySSLKeyPrivésleutel die bij het clientcertificaat hoort
proxySSLCertPasswordProtectedSchakelt 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.

Gerelateerde artikelen