OpenSSL :: SSL :: SSLError .....证书验证失败?

时间:2012-08-31 02:20:37

标签: ruby-on-rails ruby-on-rails-3 devise

我刚刚升级到Rails 3.2.8并更新了我的所有宝石。我想测试我的网站,所以我开始注册,但当我点击加入按钮时,它给了我错误:

OpenSSL::SSL::SSLError in RegistrationsController#create

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

app/models/user.rb:28:in `send_welcome_email'

我正在使用Devise 2.1.2,这是我的用户模型:

class User < ActiveRecord::Base
  attr_accessible :email, :password, :remember_me
  attr_accessor :accessible # something for devise i think
  devise :database_authenticatable, :registerable, 
  :recoverable, :rememberable, :trackable, 
  :validatable, :email_regexp =>  /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

  after_create :send_welcome_email

  private

  def send_welcome_email
    UserMailer.welcome_email(self).deliver
  end
end

我猜这与我的 development.rb 中的电子邮件设置有关。

require 'tlsmail'
  Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
  ActionMailer::Base.delivery_method = :smtp
  ActionMailer::Base.perform_deliveries = true
  ActionMailer::Base.raise_delivery_errors = true
  ActionMailer::Base.smtp_settings = {
    :enable_starttls_auto => true,
    :address            => 'smtp.gmail.com',
    :port               => 587,
    :tls                => true,
    :domain             => 'app.com',
    :authentication     => :plain,
    :user_name          => 'support@app.com',
    :password           => '******'
  }
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }

如何更正此问题?当我去3.2.8时,我才开始接受这个。如果它有帮助我就在Windows 7上。

1 个答案:

答案 0 :(得分:10)

RailsApps Project的以下帖子详细解释了问题所在,并为RVM,OSX和Windows提供了多种解决方案。

http://railsapps.github.com/openssl-certificate-verify-failed.html

由于您使用的是Windows,因此您需要download and install a certificate file才能解决问题。 (有关更好的解释,请参阅上面的链接帖子)

此问题还有github issue