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 ...
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.
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
...
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 .