webentwicklung-frage-antwort-db.com.de

Fehler beim SSL-Zertifikat

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

7
user762579

Es ist Ihr selbstsigniertes Zertifikat, das Sie Ihrem CA-Paket hinzufügen sollten. Andernfalls kann curl nicht wissen, dass es vertrauenswürdig ist.

6
Bruno

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

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 .

0
zeeawan