当我使用Rpush在rails中通过GCM推送通知时的SSLError

时间:2016-02-11 05:15:53

标签: ruby-on-rails ruby openssl google-cloud-messaging

我使用rpush gem通过rails应用程序中的Google Cloud Messaging推送通知。当我设置API_KEYdevice token并推送通知时,发生了SSLError

[2016-02-11 12:14:46] [ERROR] OpenSSL::SSL::SSLError, SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
/Users/huangjun/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock'
/Users/huangjun/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:933:in `connect'
/Users/huangjun/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
/Users/huangjun/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:858:in `start'

有什么问题?谢谢!

我的电脑是Mac,操作系统是OS X Yosemite 10.10.5

1 个答案:

答案 0 :(得分:2)

在不同的机器上工作时,我有几次这个错误。这通常会使您的证书文件过时。 最有用的指南是:OpenSSL Errors and Rails – Certificate Verify Failed

基本上这就是你需要做的事情:

$ rvm -v
$ rvm osx-ssl-certs status all
$ rvm osx-ssl-certs update all

(如果您没有安装RVM,请转到website并按照说明操作)