7 votes

Ajout d'un certificat SSL supplémentaire à reconnaître dans Cygwin

J'ai mis en place un serveur qui dispose d'un certificat HTTPS délivré par un grand fournisseur de certificats (DigiCert). Le certificat est reconnu par tous les navigateurs sur une machine exécutant Windows Server 2008 R2, y compris Internet Explorer, Chrome et Firefox.

Cependant, le certificat n'est pas reconnu dans Cygwin. Par exemple, j'obtiens cette erreur lorsque j'essaie de cloner une URL git à partir de ce serveur :

erreur : problème de certificat SSL : impossibilité d'obtenir le certificat émetteur local lors de l'accès à [URL] fatal: la requête HTTP a échoué

D'autres outils dans Cygwin que j'ai essayés donnent la même erreur, comme curl :

curl: (60) problème de certificat SSL : impossibilité d'obtenir le certificat émetteur local

Digicert possède le certificat exact dont j'ai besoin. Mes solutions idéales seraient soit de mettre à jour le regroupement de certificats utilisé par Cygwin, soit d'installer manuellement le certificat nécessaire. Il semble que Cygwin dispose d'un magasin de certificats séparé de Windows. Comment puis-je faire cela ?

Remarque : Je ne veux pas simplement ignorer l'erreur, car de nombreux utilisateurs utilisent cette machine et auront besoin d'accéder au même serveur, il ne serait donc pas logique d'ignorer à chaque fois.

6voto

Jari Turkia Points 497

Étant donné que votre commande git utilise Curl en interne, essayez curl --verbose https://the-repo-URL pour voir ce qui se passe.

Le résultat attendu est la même erreur que vous avez signalée : "Problème de certificat SSL : impossible d'obtenir un certificat émetteur local". De plus, dans la sortie verbose, il devrait y avoir quelque chose comme: * emplacements de vérification du certificat définis avec succès : CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: aucun

L'erreur et la sortie ci-dessus se traduisent par : Le certificat X.509 utilisé par votre dépôt est soit auto-signé et non approuvé par Curl, soit émis par une autorité de certification non approuvée par Curl. Les endroits où nous avons recherché un ancre de confiance incluaient /etc/pki/tls/certs/ca-bundle.crt, mais nous n'avons trouvé rien d'applicable.

Pour résoudre ce problème :

  1. (c'est la partie délicate) Obtenez le certificat auto-signé ou le certificat racine de l'autorité de certification émettrice
  2. Enregistrez le certificat X.509 au format PEM dans le répertoire /etc/pki/ca-trust/source/anchors
  3. Exécutez la commande update-ca-trust. Faites cela avec des permissions d'administrateur. Notez également que cette commande ne génère aucune sortie.
  4. C'est fait ! Testez.

Mise à jour

La méthode ci-dessus est toujours valable, mais il existe une manière plus simple pour accomplir exactement la même chose. Exécutez cette seule commande :

trust anchor --store [le fichier PEM du certificat]

C'est fait ! Testez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X