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