如何在ruby中为OpenSSL设置ca-bundle路径

时间:2013-02-07 10:21:21

标签: ruby openssl certificate ca

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

3 个答案:

答案 0 :(得分:17)

OpenSSL使用SSL_CERT_FILE环境变量。您可以使用类似于第一个引入OpenSSL的require之前的内容在ruby脚本中设置它:

ENV['SSL_CERT_FILE'] = '/path/to/ca-bundle.pem'

或者,如果您愿意,可以根据您的具体情况在OS环境,Web服务器配置等中设置SSL_CERT_FILE环境变量。

答案 1 :(得分:4)

您可以通过以下方式完成此操作:

SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

答案 2 :(得分:0)

这都是因为SSL_CERT_FILE的值不正确,它的值可能不存在。因此,您必须将其值设置为证书文件ENV['SSL_CERT_FILE]='path/to/ca-bundle.p'。如果您使用的是Rails,则可以将其放在初始化程序中。如果您想要一个能为您完成所有事情的宝石,请使用https://github.com/stevegraham/certified