加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何确保Ruby使用OpenSSL不容易受到伤心?

发布时间:2020-12-16 20:17:47 所属栏目:百科 来源:网络整理
导读:遵循引人入胜的错误,this post on ruby-lang.org描述了如何检查漏洞和升级. 它包括这个建议: 要验证您链接到Ruby的OpenSSL库的哪个版本,请使用以下命令: ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"],
遵循引人入胜的错误,this post on ruby-lang.org描述了如何检查漏洞和升级.

它包括这个建议:

要验证您链接到Ruby的OpenSSL库的哪个版本,请使用以下命令:

ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"],[Fiddle::TYPE_INT],Fiddle::TYPE_VOIDP).call(0)'

要验证当前使用Ruby安装的OpenSSL的版本,请使用以下命令:

ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

这两个检查有什么区别,如果从任一命令返回错误的版本,建议使用什么操作?

解决方法

在问了一些问题 elsewhere之后,我目前的理解是这样的:

> OpenSSL从未与Ruby一起编译; Ruby在编译时简单地被告知在哪里寻找OpenSSL.> ruby?? -r rbconfig -e’将RbConfig :: CONFIG [“configure_args”]’应该告诉你Ruby将寻找各种可执行文件,包括OpenSSL>所有重要的是,OpenSSL在该位置的副本是最新的; cd在那里使用./openssl版本来找出来.> ruby?? -v -ropenssl -rfiddle -e’将Fiddle :: Function.new(Fiddle.dlopen(nil)[“SSLeay_version”],[Fiddle :: TYPE_INT],Fiddle :: TYPE_VOIDP).call(0)’应该给出与运行openssl版本直接相同的答案,因为它实际上要求Ruby使用的OpenSSL的副本来报告其版本号> OpenSSL :: OPENSSL_VERSION可能已过期;它报告编译时发现的版本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读