2017-03-16 228 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

我试图运行'宝石安装'认证',捆绑安装,但不幸的是它不起作用。 –

相关问题