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

前端之家收集整理的这篇文章主要介绍了如何确保Ruby使用OpenSSL不容易受到伤心?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
遵循引人入胜的错误,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可能已过期;它报告编译时发现的版本.

猜你在找的Ruby相关文章