首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails 3: OpenSSL::SSL::SSLError: hostname与服务器证书不匹配

Rails 3: OpenSSL::SSL::SSLError: hostname与服务器证书不匹配
EN

Stack Overflow用户
提问于 2010-12-22 10:58:46
回答 2查看 34.3K关注 0票数 55

当尝试通过控制台发送电子邮件时,我收到此错误:

代码语言:javascript
复制
OpenSSL::SSL::SSLError: hostname was not match with the server certificate

问题是我真的不太了解证书之类的东西,也不知道如何开始解决这个问题,我试着用openssl做了一些调查,这是返回的证书。

我不知道是在服务器上运行的Postfix有问题,还是我的rails应用程序有问题,任何帮助或线索都非常感谢。

代码语言:javascript
复制
~% openssl s_client -connect mail.myhostname.com:25 -starttls smtp
CONNECTED(00000003)
depth=0 /CN=myhostname
verify error:num=18:self signed certificate
verify return:1
depth=0 /CN=myhostname
verify return:1
---
Certificate chain
 0 s:/CN=myhostname
   i:/CN=myhostname
---
Server certificate
-----BEGIN CERTIFICATE-----
[...redacted...]
-----END CERTIFICATE-----
subject=/CN=myhostname
issuer=/CN=myhostname
---
No client certificate CA names sent
---
SSL handshake has read 1203 bytes and written 360 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 1AA4B8BFAAA85DA9ED4755194C50311670E57C35B8C51F9C2749936DA11918E4
    Session-ID-ctx: 
    Master-Key: 9B432F1DE9F3580DCC6208C76F96631DC5A4BC517BDBADD5F514414DCF34AC526C30687B96C5C4742E9583555A118232
    Key-Arg   : None
    Start Time: 1292985376
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-08 17:08:03

一个比公认的答案更好的解决方案(在安全性方面)是:

代码语言:javascript
复制
ActionMailer::Base.smtp_settings = {
  :address              => "mail.foo.com",
  :port                 => 587,
  :domain               => "foo.com",
  :user_name            => "addy@foo.com",
  :password             => "foofoo",
  :authentication       => "plain",
  :enable_starttls_auto => true,
  :openssl_verify_mode  => 'none'
}

这样,您仍将使用加密,但证书的验证将被禁用(并且不会收到任何错误)。

票数 135
EN

Stack Overflow用户

发布于 2017-03-22 21:29:35

如果您像我一样使用ruby邮件库,那么pop的设置如下

代码语言:javascript
复制
pop = Net::POP3.new(mail_server, mail_port)
pop.enable_ssl(0) #(default is on, if you want turn it off set it to 0 )
pop.start(mail_username, mail_pwd) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4505795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档