我正在尝试按照自述文件中的说明进行操作:https://github.com/zhaozg/lua-openssl
这是我正在运行的基本程序:
openssl = require 'openssl'
inspect = require 'inspect'
print(inspect(openssl.cipher))
仅'nil'被打印到终端。
如果尝试检查“ openssl”对象,则会得到以下输出:
{
NO_IDEA = true,
NO_MD2 = true,
NO_MDC2 = true,
NO_RC5 = true,
NO_SCTP = true,
SHLIB_VERSION_HISTORY = "",
SHLIB_VERSION_NUMBER = "1.1",
SSLEAY_BUILT_ON = 2,
SSLEAY_CFLAGS = 1,
SSLEAY_DIR = 4,
SSLEAY_PLATFORM = 3,
SSLEAY_VERSION = 0,
SSLEAY_VERSION_NUMBER = 269484159,
VERSION_NUMBER = 269484159,
VERSION_TEXT = "OpenSSL 1.1.0g 2 Nov 2017",
version = <function 1>
}
有什么想法吗?我在做什么错?
系统随附的版本可能还没有密码模块,或者可能是openssl的另一个绑定。
检查lua openssl所在的文件夹中您的版本所具有的模块,在我的系统中,该文件位于/usr/local/share/lua/5.1/openssl/
中,在文件夹/usr/local/share/lua/5.1/openssl.lua
之外还有一个文件,而在/usr/local/lib/lua/5.1/_openssl.so
中则是共享对象,但在您的文件夹中可能有所不同。
为了确保将这些文件备份到另一个位置。删除它们并安装带有luockcks的最新版本。
luarocks install openssl
Luarocks可能会在/usr/local/lib/lua/5.1/
中安装新的共享库。如果安装的模块名称具有名称,例如openssl_0_7_7_0-openssl.so
,则将其重命名为openssl.so
。