2013-10-13 26 views
7

sto testando l'accesso SSL a un server nodo locale con la chiave, ca, cert in opzioni (auto-firmato w OpenSSL)SSL errore di certificato

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') 
}; 

cercando di accedervi:

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

utilizzando ricciolo ottengo il seguente errore:

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

ho scaricato il certificato CA da http://curl.haxx.se/ca/cacert.pem e aggiungerli al mio curl-c a-fascio-new.crt di file, come suggerito in alcuni commenti su arricciare ... ma c'è modo

ecco il registro

  • 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)
    • SSLv3, TLS handshake, Client hello (1):
    • SSLv3, TLS handshake, Server hello (2):
    • SSLv3, TLS handshake, CERT (11):
    • SSLv3, TLS alert, Server hello (2):
    • SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
    • Closing connection #0 curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: http://curl.haxx.se/docs/sslcerts.html

so di poter bypassare il controllo Curl CA, utilizzando:

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

nel qual caso è in esecuzione bene, posso vedere:

SSL certificate verify result: self signed certificate (18), continuing anyway.

ma mi piacerebbe sapere se c'è un modo t o risolvere questo problema ...

risposta

7

È il certificato autofirmato che è necessario aggiungere al pacchetto CA. Altrimenti, il ricciolo non può sapere che ci si può fidare.

+1

grazie, ho appena avuto qualche difficoltà a trovare dove cacert.pem si trovava su OSX (10.8) vedi sopra .... – erwin

5

ho finalmente trovato la posizione su OSX (10.8): /usr/share/curl/cacert.pem così ho aggiunto il mio certificato auto-firmato ad esso, e la riavviato il mio server node-ssl ..

allora ricciolo di comando è ora in esecuzione bene wo l'opzione -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 
... 
+2

In genere è meglio inserire una sezione di "aggiornamento" nella domanda piuttosto che fornire i risultati come risposta –

+7

@MarkFox no, non lo è. [Se il poster originale ha trovato una risposta, dovrebbe essere una risposta] (https://meta.stackoverflow.com/questions/278050/editing-self-answer-out-of-question) –

+0

@ om-nom-nom you ' ho ragione - in alcuni casi è meglio aggiornare, ma sono corretto. –

0

su Mac, mi è stato sempre simile ssl errore relativo durante il tentativo di installare composer.

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate

per il comando

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

Ma io successo installato eseguendo il comando

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

come da istruzioni here.

Problemi correlati