首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用环境变量更改HTTPI SSL默认证书文件位置

使用环境变量更改HTTPI SSL默认证书文件位置
EN

Stack Overflow用户
提问于 2015-07-23 20:27:24
回答 1查看 2.2K关注 0票数 6

根据this page,我可以根据OpenSSL::X509::DEFAULT_CERT_FILE常量看到HTTPI在哪里查找我的SSL证书:

代码语言:javascript
复制
2.1.5 :008 > OpenSSL::X509::DEFAULT_CERT_FILE
 => "/usr/lib/ssl/cert.pem"

我的证书在其他地方,但是那个页面说我可以使用环境变量SSL_CERT_FILE更改Ruby查看的路径。我在.bashrc中做到了:

代码语言:javascript
复制
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

Rails查找环境变量:

代码语言:javascript
复制
2.1.5 :007 > ENV['SSL_CERT_FILE']
 => "/etc/ssl/certs/ca-certificates.crt"

但这对OpenSSL常量没有影响:

代码语言:javascript
复制
2.1.5 :008 > OpenSSL::X509::DEFAULT_CERT_FILE
 => "/usr/lib/ssl/cert.pem"

该页面关于设置SSL_CERT_FILE的效果是错误的吗?或者常量永远不会改变,而会影响其他设置?最终,没有找到证书,所以我需要知道它是什么/如何检查/如何设置它。

一等奖是一种类似的方法,其缺省值由环境变量设置,因为我不想对证书的路径进行硬编码。

EN

回答 1

Stack Overflow用户

发布于 2015-07-23 20:44:47

我不知道ruby部分,但从我使用OpenSSL代码的经验来看,我不认为设置环境SSL_CERT_FILE会改变DEFAULT_CERT_FILE的内容。但它仍然会更改OpenSSL查找证书的位置:如果给定了SSL_CERT_FILE,它将采用此值,否则将采用DEFAULT_CERT_FILE中的值。这就是OpenSSL内部的工作方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31587347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档