我在Ruby中,其中一个SSL证书不能被OpenSSL的验证出现问题。 我认为,这是由CA-bundle.pem不是由脚本已知造成的。 是否有手工配置的CA-bundle.pem的路径的可能性大吗?
Answer 1:
OpenSSL的使用SSL_CERT_FILE
环境变量。 您可以使用类似之前先在你的Ruby脚本设置require
在其中的OpenSSL拉:
ENV['SSL_CERT_FILE'] = '/path/to/ca-bundle.pem'
或者,如果你愿意,你可以设置SSL_CERT_FILE
在您的操作系统环境的环境变量,Web服务器配置等根据您的情况。
Answer 2:
您可以通过以下操作:
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
Answer 3:
这都是因为SSL_CERT_FILE
有一个错误的值,它的价值可能不存在。 所以,你必须将其值设为您的证书文件作为ENV['SSL_CERT_FILE]='path/to/ca-bundle.p'
。 如果您使用Rails,你可以把它放在一个初始化。 如果你想有一个宝石,做一切对你来说,使用https://github.com/stevegraham/certified 。
文章来源: How to set ca-bundle path for OpenSSL in ruby