2017-03-16 196 views
0

我正在使用Windows 10.我想創建將使用outlookAPI的應用程序。因此,我正在按照Write a Ruby on Rails app to get Outlook mail的入門教程進行操作。Faraday :: SSLError和「證書驗證失敗」

我已經遇到過這個問題SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed如下圖所示;當我嘗試getToken在認證階段就成功上面

enter image description here

問題出現。

我將不勝感激任何建議。

+0

兩個請求..(1)請說明錯誤。圖片上的文字太小而無法閱讀。另外,文本不能被搜索引擎索引給未來的訪問者。 (2)請發佈您用於連接服務器的URL,併發布'openssl s_client -connect -tls1 -servername | openssl x509 -text -noout'。點擊*編輯*(不要將其作爲評論發佈),將其添加到您的問題中。否則,我們無法複製它,並且沒有足夠的信息來幫助排除故障。 – jww

+0

我不知道你是如何創建你的證書的,但***'CN = example.com' ***可能是錯誤的。主機名始終在* SAN *中。如果它存在於* CN *中,那麼它也必須存在於* SAN *中(在這種情況下,您必須列出它兩次)。有關更多規則和原因,請參閱[如何使用您的證書頒發機構簽署證書籤名請求](http://stackoverflow.com/a/21340898/608639)和[如何使用openssl創建自簽名證書?]( http://stackoverflow.com/q/10175812/608639) – jww

回答

-1
sudo port install curl-ca-bundle 

,並告訴您的HTTPS反對使用它:

https.ca_file = '/opt/local/share/curl/curl-ca-bundle.crt' 

請注意,如果你希望你的代碼在Ubuntu上運行,你需要設置ca_path屬性相反,使用默認證書位置/等/ SSL /證書。

OR

添加下面的初始化代碼:

require 'openssl' 
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 
+0

我忘了提及我在Windows10操作系統上工作。 –

+0

嘗試 要求'openssl' OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE – puneet18

+0

它的工作原理。非常感謝。 你能解釋我爲什麼'需要'openssl' OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE'幫助我嗎? –

0

嘗試增加寶石在你的Gemfile '認證',並運行包安裝。

gem 'certified' 
bundle install 
+0

我試圖運行'寶石安裝'認證',捆綁安裝,但不幸的是它不起作用。 –

相關問題