在 Windows 上加载加密模块时出错

Error when loading crypto module on Windows

在 Windows 上,当使用 (module "crypto.lsp") 加载加密模块时,抛出错误:

ERR: user error : cannot find crypto library

如何加载加密库?

module's page 中所述,它需要一个 openssl 二进制文件。

目前(2018 年冬季,newLISP v.10.7.1),在 Windows 上,该模块查找 openssl 的 gnuwin32 发行版,该发行版已过时(最新版本 2008)。无论如何尝试使用它对我不起作用。

解决方案是制作您自己的加密模块副本(在 %NEWLISPDIR%\modules 中)并将其修改为指向您的 openssl's libcrypto.dll 二进制文件。就我而言,我实际上并没有安装整个 openssl 发行版,只是复制了必要的文件。这是修改后的加密模块中的 files 列表:

(set 'files '(
              "X:/y/z/libcrypto-1_1-x64.dll" ; <<<<<<<<<<

              "/usr/lib/x86_64-linux-gnu/libcrypto.so" ; Ubuntu 12.04 LTS
              "/usr/lib/i386-linux-gnu/libcrypto.so"; Ubuntu 12.04
              "/lib/i386-linux-gnu/libcrypto.so.1.0.0" ; UBUNTU Linux 13.04
              "/usr/lib64/libcrypto.so" ; Fedora, CentOS 6.x
              "/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0" ; Debian jessie
              "/usr/lib/libcrypto.so"
              "/usr/lib/libcrypto.so.4"
              "/usr/lib/libcrypto.so.18.0" ; OpenBSD 4.6
              "/usr/lib/libcrypto.so.19.0" ; OpenBSD 5.0
              "/usr/lib/libcrypto.dylib"
              ))