Pour le serveur gitlab de l'école, je viens de renouveler les certificats chez Gandi. Si l'on se connecte via son navigateur, on a un beau certificat un peu plus récent:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 256 bits

Par contre, lorsque j'essaie un git clone | pull | push rien ne va plus car l'autorité n'est pas reconnue par ma machine. Il faut que j'aille chercher le certificat sur le serveur ou bien chez Gandi et que je l'ajoute à ma liste de certificats.

Pour prendre le certificat sur le serveur, je fais donc:

echo -n | openssl s_client -showcerts -connect git.esi-bru.be:443

… et je mets les deux chaines entre -----BEGIN CERTIFICATE---- et -----END CERTIFICATE----- dans un fichier MyGandi.crt

Si je préfère aller chercher le certificat chez Gandi directement, il se trouve à cette page et cette commande devrait faire l'affaire

wget https://www.gandi.net/static/CAs/GandiStandardSSLCA2.pem

Une fois en possession du certificat, il faut le donner à votre machine via ces deux commandes:

cp /elsewhere/GandiStandardSSLCA2.pem /usr/local/share/ca-certificates/GandiStandardSSLCA2.crt update-ca-certificates

Notez qu'il est nécessaire de changer l'extension du fichier pour qu'il soit pris en compte par update-ca-certificates. Cette deuxième commande va concaténer tous les certificats présents dans /etc/ssl/certs et /usr/local/share/ pour les rassembler dans le fichier /etc/ssl/certs/ca-certificates.

Et ça roule…

Édité

Bon, savoir reconnaitre ses erreurs… bla bla. Dans mon fichier .pem, quelques lettres s'étaient enfuies dans la bagarre et le fichier n'était pas correct. Cette manipulation n'est donc pas utile. Désolé pour les désagréments.


Crédit photo chez Gratisography.