web-dev-qa-db-fra.com

Erreur de certificat SSL

Je teste l'accès SSL à un serveur de nœud local avec des options key, ca, cert (auto-signé avec OpenSSL)

var server_options = {
  key: fs.readFileSync('/etc/ssl/self-signed/server.key'),
  ca: fs.readFileSync('/etc/ssl/self-signed/server.csr'),
  cert: fs.readFileSync('/etc/ssl/self-signed/server.crt')
};

essayant d'y accéder:

curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

en utilisant curl j'obtiens l'erreur suivante:

curl: (60) Problème de certificat SSL, vérifiez que le certificat de certification est OK. Détails: Erreur: 14090086: Routines SSL: SSL3_GET_SERVER_CERTIFICATE: échec de la vérification du certificat

J'ai téléchargé le certificat ca de http://curl.haxx.se/ca/cacert.pem et les ai ajoutés à mon fichier curl-ca-bundle-new.crt, comme suggéré dans certains articles liés à curl. .. mais aucun moyen

voici le journal

  • A propos de la connexion () au port macMini.local 8000 (# 0)

    • Essayer 192.168.1.14 ...
    • connecté
    • Connecté au port 8000 (# 0) de macMini.local (192.168.1.14)
    • SSLv3, négociation TLS, bonjour client (1):
    • SSLv3, négociation TLS, bonjour serveur (2):
    • SSLv3, négociation TLS, CERT (11):
    • SSLv3, alerte TLS, bonjour serveur (2):
    • Problème de certificat SSL, vérifiez que le certificat de certification est OK. Détails: Erreur: 14090086: Routines SSL: SSL3_GET_SERVER_CERTIFICATE: échec de la vérification du certificat
    • Fermeture de la connexion n ° 0 Curl: (60) Problème de certificat SSL, vérifiez que le certificat CA est OK. Détails: Error: 14090086: Routines SSL: SSL3_GET_SERVER_CERTIFICATE: la vérification du certificat a échoué Plus de détails ici: http://curl.haxx.se/docs/sslcerts.html

Je sais que je peux contourner la vérification Curl CA en utilisant:

curl -k -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

dans ce cas, ça fonctionne bien, je peux voir:

Résultat de vérification du certificat SSL: certificat auto-signé (18), continuant malgré tout.

mais j'aimerais savoir s'il y a un moyen de résoudre ce problème ...

7
user762579

C'est votre certificat auto-signé que vous devez ajouter à votre ensemble d'autorités de certification. Sinon, curl ne peut pas savoir si on peut faire confiance.

6
Bruno

J'ai finalement trouvé l'emplacement sur OSX (10.8): /usr/share/curl/cacert.pemso j'ai ajouté mon certificat auto-signé, et le serveur redémarré mon noeud-ssl ..

alors la commande curl fonctionne maintenant très bien avec l'option -k

curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

* About to connect() to macMini.local port 8000 (#0)
*   Trying 192.168.1.14...
* connected
* Connected to macMini.local (192.168.1.14) port 8000 (#0)
* successfully set certificate verify locations:
*   CAfile: /usr/share/curl/cacert.pem
  CApath: none
...
5
user762579

Sur mac, j’obtenais une erreur de lien ssl similaire lors de la tentative d’installation de composer .

erreur: 14090086: routines SSL: SSL3_GET_SERVER_CERTIFICATE: certificat

pour la commande

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Mais je avec succès l’a installé en exécutant la commande

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer/

selon les instructions ici .

0
zeeawan