簡體   English   中英

SSL證書錯誤

[英]SSL certificate error

我正在使用key,ca,cert in options測試對本地節點服務器的SSL訪問(自簽名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')
};

試圖訪問它:

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

使用curl我收到以下錯誤:

curl:(60)SSL證書問題,驗證CA證書是否正常。 詳細信息:錯誤:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:證書驗證失敗

我從http://curl.haxx.se/ca/cacert.pem下載了ca證書並將它們添加到我的curl-ca-bundle-new.crt文件中,正如一些與curl相關的帖子中所建議的那樣......但是沒有方式

這是日志

  • 即將connect()連接到macMini.local端口8000(#0)

    • 試試192.168.1.14 ......
    • 連接的
    • 連接到macMini.local(192.168.1.14)端口8000(#0)
    • SSLv3,TLS握手,客戶端問候(1):
    • SSLv3,TLS握手,服務器問候(2):
    • SSLv3,TLS握手,CERT(11):
    • SSLv3,TLS警報,服務器問候(2):
    • SSL證書問題,驗證CA證書是否正常。 詳細信息:錯誤:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:證書驗證失敗
    • 關閉連接#0 curl:(60)SSL證書問題,驗證CA證書是否正常。 詳細信息:錯誤:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:證書驗證失敗更多詳細信息,請訪問: http ://curl.haxx.se/docs/sslcerts.html

我知道我可以繞過Curl CA檢查,使用:

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

在這種情況下運行正常,我可以看到:

SSL證書驗證結果:自簽名證書(18),無論如何都要繼續。

但我想知道是否有辦法解決這個問題......

這是您應該添加到CA捆綁包的自簽名證書。 否則,curl無法知道它可以信任。

我終於找到了OSX(10.8)上的位置:/usr/share/curl/cacert.pem所以我添加了自簽名證書,並重新啟動了我的node-ssl服務器..

那么curl命令現在正好運行-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
...

在Mac上,我在嘗試安裝composer時得到了類似的ssl相關錯誤。

錯誤:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:證書

為命令

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

但是我通過運行命令成功安裝了它

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

按照這里的指示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM