Comment obtenir et utiliser des certificats avec curl
-
Saisie de la commande suivante
curl -k email@mail.com:password https://www.example.com
Renvoie l'erreur suivante
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://mail.google.com/mail/">here</A>. </BODY></HTML> badauth
-
Après avoir téléchargé le fichier
cacert.crt
d'icihttp://www.cacert.org/index.php?id=3
A ensuite renommé le fichier
cacert.crt
encacert.pem
Puis essayé:
curl --cacert /path/to/cacert.pem email@mail.com:password https://www.example.com
Mais obtenez la même erreur.
-
Puis essayer:
curl https://www.example.com
J'obtiens cette erreur
Curl: (60) Problème de certificat SSL : impossible d'obtenir l'émetteur local certificat Plus de détails ici: http://curl.haxx.se/docs/sslcerts.html
Curl effectue la vérification du certificat SSL par défaut, en utilisant un " ensemble " de clés publiques d'Autorité de certification (CA) (certs CA). Si le fichier bundle par défaut n'est pas adéquat, vous pouvez spécifier un autre fichier en utilisant l'optioncaccacert.
Si ce serveur HTTPS utilise un certificat signé par une autorité de certification représentée dans le bundle, la vérification du certificat a probablement échoué en raison d'un problème avec certificat (il peut être expiré ou le nom peut ne pas correspondre au nom de domaine dans l'URL).
Si vous souhaitez désactiver la vérification du certificat par curl, utilisez l'option -k (ouinsecinsecure) -
J'ai donc essayé avec
-k
curl -k https://www.example.com
Mais bien sûr, obtenez l'erreur
Badauth
Je suppose que je fais quelque chose de mal avec le fichier de certificat, mais je ne sais pas où obtenir un fichier de certificat ni quoi en faire une fois que je l'ai.
Je n'ai aucun problème à me connecter à l'aide d'un navigateur bien sûr, mais j'aimerais automatiser le processus avec la ligne de commande afin que je puisse le faire avec tasker sur ma tablette Android via WiFi.