3 votes

Stockage CA pour cURL sur Mavericks

J'étais en train de résoudre un problème avec Arcanist et Phabricator sur MacOSX, une erreur cURL/60, mais je ne savais pas comment vérifier où les bibliothèques php curl obtenaient leur confiance de l'autorité de certification.

Où ou comment Mavericks gère-t-il le stockage de la confiance pour les autorités de certification et les certificats auto-signés pour cURL et/ou les bibliothèques curl ? Existe-t-il une source de documentation à ce sujet que je ne connais pas ?

Nb, je suis assez nouveau avec MacOS.

0 votes

La ligne de commande curl dispose d'options permettant de spécifier les autorités de certification, ce qui vous permet de contrôler les choses si le système par défaut ne vous convient pas. Quelles sont les bibliothèques PHP curl spécifiques que vous utilisez ?

0voto

GyozaGuy Points 1

Pour la documentation : Si vous souhaitez lire l'une des instructions de la bibliothèque Unix, vous pouvez ouvrir l'application Terminal. Tapez "man curl" et vous obtiendrez le manuel de la fonction curl. Il existe une application appelée "iMan" qui fait un bon travail en affichant les pages de manuel dans un format plus lisible, et qui peut rechercher des manuels ou montrer des variantes de bibliothèques similaires ( https://sourceforge.net/projects/iman-macosx ).

0voto

l'L'l Points 8737

CURL ne regroupe plus AUCUN certificat de CA ; il rejette donc tous les certificats SSL comme non vérifiables.

Vous devrez obtenir le certificat de votre autorité de certification pour que tout fonctionne comme il se doit :

  1. Téléchargez le cURL cacert.pem et le sauvegarder sur votre serveur
  2. mettre à jour le php.ini - ajouter curl.cainfo = "PATH_TO/cacert.pem"
  3. Ou ajoutez les éléments suivants et/ou des éléments similaires à vos options cURL pour chaque instance :
curl_setopt($ch, CURLOPT_CAINFO, "PATH_TO/cacert.pem");   
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

Plus d'informations ici

0 votes

Comparez la sortie de 'curl thawte.com > /dev/null' et 'curl cacert.org > /dev/null'. cURL n'est peut-être pas fourni, mais Apple fournit quelques trusts. La modification de php.ini semble faire partie des instructions de Phabricator, le problème est que même après avoir modifié php.ini et ajouté curl.cainfo, elle toujours ne fait pas confiance au certificat. cURL sur Mavericks semble simplement ne pas utiliser les options et peut obtenir les certificats ailleurs.

0voto

mgjk Points 384

J'ai fait quelques expériences avec l'utilitaire "Keychain Access". http://en.wikipedia.org/wiki/Keychain_(Apple)#Keychain_Access . Il semble que cURL utilise le même magasin de confiance que Safari, et qu'il y soit configuré.

Je peux faire confiance à un certificat dans Safari et il le fera dans cURL. Je peux ensuite dire au système de ne pas faire confiance à ce certificat dans l'utilitaire Keychain Access et cURL ne lui fera plus confiance.

Je ne sais pas où cela est documenté, mais cela fonctionne parfaitement.

Keychain Access

Je pense que je vais devoir lire davantage sur le fonctionnement de Mavericks.

-1voto

jberry Points 226

La documentation que vous recherchez se trouve ici. Elle explique comment utiliser cURL sous Mavericks et comment fournir vos certificats : http://curl.haxx.se/mail/archive-2013-10/0036.html

0 votes

Pourriez-vous ajouter les étapes dans votre réponse car l'URL pourrait mourir.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X