Ich teste den SSL-Zugriff auf einen lokalen Knotenserver mit Schlüssel, ca, cert in -Optionen (selbstsigniert w 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')
};
versuch, darauf zuzugreifen:
curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token
mit curl bekomme ich folgende Fehlermeldung:
curl: (60) Problem mit dem SSL-Zertifikat, stellen Sie sicher, dass das CA-Zertifikat in Ordnung ist. Details: Fehler: 14090086: SSL-Routinen: SSL3_GET_SERVER_CERTIFICATE: Zertifikatprüfung fehlgeschlagen
Ich habe das CA-Zertifikat von http://curl.haxx.se/ca/cacert.pem heruntergeladen und es meiner curl-ca-bundle-new.crt -Datei hinzugefügt, wie in einigen Beiträgen zum Thema curl vorgeschlagen. .. aber auf keinen Fall
hier ist das Protokoll
- Informationen zum Verbinden () mit dem macMini.local-Port 8000 (# 0)
- 192.168.1.14 wird versucht ...
- in Verbindung gebracht
- Verbunden mit macMini.local (192.168.1.14) Port 8000 (# 0)
- SSLv3, TLS-Handshake, Kunde hallo (1):
- SSLv3, TLS-Handshake, Server-Hallo (2):
- SSLv3, TLS-Handshake, CERT (11):
- SSLv3, TLS-Warnung, Server-Hallo (2):
- Stellen Sie sicher, dass das Zertifizierungsstellenzertifikat in Ordnung ist. Details: Fehler: 14090086: SSL-Routinen: SSL3_GET_SERVER_CERTIFICATE: Zertifikatprüfung fehlgeschlagen
- Schließen der Verbindung Nr. 0 Curl: (60) Problem beim SSL-Zertifikat. Stellen Sie sicher, dass das CA-Zertifikat in Ordnung ist. Details: Fehler: 14090086: SSL-Routinen: SSL3_GET_SERVER_CERTIFICATE: Zertifikatprüfung fehlgeschlagen Weitere Details hier: http://curl.haxx.se/docs/sslcerts.html
Ich weiß, dass ich die Curl-CA-Prüfung umgehen kann.
curl -k -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token
in diesem Fall läuft es gut, ich kann sehen:
Ergebnis des SSL-Zertifikats überprüfen: Selbst signiertes Zertifikat (18), das trotzdem fortgesetzt wird.
aber ich würde gerne wissen, ob es eine Möglichkeit gibt, dieses Problem zu lösen ...
Es ist Ihr selbstsigniertes Zertifikat, das Sie Ihrem CA-Paket hinzufügen sollten. Andernfalls kann curl nicht wissen, dass es vertrauenswürdig ist.
Ich fand schließlich den Ort unter OSX (10.8): /usr/share/curl/cacert.pem[.____.( Also habe ich mein selbst signiertes Zertifikat hinzugefügt und meinen Node-SSL-Server neu gestartet.
dann läuft der curl-Befehl jetzt mit der 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
...
Auf einem Mac habe ich einen ähnlichen ssl-bezogenen Fehler erhalten, als ich versuchte, composer zu installieren.
fehler: 14090086: SSL-Routinen: SSL3_GET_SERVER_CERTIFICATE: Zertifikat
für den Befehl
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Aber ich erfolgreich installierte es durch Ausführen des Befehls
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer/
wie angegeben hier .