在 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"
))
在 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"
))