[英]Delphi Indy10 required SSL libraries under Linux?
使用 Delphy 10.4:我正在尝试使用 IdServerIOHandlerSSLOpenSSL 启动 IdTCPServer。 在 Linux 下,我得到一个“EIdOSSLCouldNotLoadSSLLibrary;无法加载 SSL 库”。 在 Windows 下,这可以正常工作。
在 SSL 目录中,我现在拥有 Windows DLL 和我通过编译 "openssl-1.1.1j" 生成的 .so 文件。
所以SSL目录包含libeay32.dll、ssleay32.dll、libcrypto.so、libssl.so。
为什么它在Linux下不接受?
首先,您不能在 Linux 上使用 Windows DLL。 您需要 Linux 二进制文件,并且在 Linux 上TIdSSLIOHandlerSocketOpenSSL
将查找libssl.so.xxx[l]
和libcrypto.so.xxx[l]
(其中xxx
是1.0.2
或更低版本, [l]
是可选字母a..z
或libssl.so
/ libcrypto.so
符号链接映射到此类版本)。
其次, TIdSSLIOHandlerSocketOpenSSL
以及扩展TIdServerIOHandlerSSLOpenSSL
不支持 OpenSSL 1.1.x ,仅支持OpenSSL 1.0.2 及更早版本,如上所示。
要使用 OpenSSL 1.1.x,您需要使用不同的IOHandler
。 一个目前正在等待审查的拉取请求中,因此尚未合并到 Indy 的主要代码中,但您可以尝试一下,看看它是否适合您:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.