我在 ruby 中遇到问题,OpenSSL 无法验证 SSL 证书。我认为这是由于脚本不知道 ca-bundle.pem 引起的。是否可以手动配置 ca-bundle.pem 的路径?
问问题
11540 次
3 回答
22
OpenSSL 使用SSL_CERT_FILE
环境变量。你可以在你的 ruby 脚本中使用类似于第一个引入require
OpenSSL 之前的东西来设置它:
ENV['SSL_CERT_FILE'] = '/path/to/ca-bundle.pem'
或者,如果您愿意,您可以SSL_CERT_FILE
根据您的情况在操作系统环境、Web 服务器配置等中设置环境变量。
于 2013-02-10T12:19:20.080 回答
7
您可以通过以下方式做到这一点:
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
于 2013-02-07T10:24:43.037 回答
0
这都是因为SSL_CERT_FILE
有一个错误的价值,它的价值可能不存在。因此,您必须将其值设置为您的证书文件为ENV['SSL_CERT_FILE]='path/to/ca-bundle.p'
. 如果您使用的是 Rails,则可以将其放入初始化程序中。如果您想要一个可以为您做所有事情的 gem,请使用https://github.com/stevegraham/certified。
于 2016-05-13T19:44:18.613 回答