17

我在 ruby​​ 中遇到问题,OpenSSL 无法验证 SSL 证书。我认为这是由于脚本不知道 ca-bundle.pem 引起的。是否可以手动配置 ca-bundle.pem 的路径?

4

3 回答 3

22

OpenSSL 使用SSL_CERT_FILE环境变量。你可以在你的 ruby​​ 脚本中使用类似于第一个引入requireOpenSSL 之前的东西来设置它:

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 回答