Lua-openssl-所有openssl子模块均为nil

问题描述 投票:1回答:1

我正在尝试按照自述文件中的说明进行操作: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>
}

有什么想法吗?我在做什么错?

lua null openssl
1个回答
0
投票

系统随附的版本可能还没有密码模块,或者可能是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

© www.soinside.com 2019 - 2024. All rights reserved.