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

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

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

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

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

您可以通过以下方式执行此操作:

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

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