如何解决Linux下Delphi Indy10需要SSL库吗?
使用 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.x.x.x[l]
和 libcrypto.so.x.x.x[l]
(其中 x.x.x
是版本 1.0.2
或更低,并且 {{1 }} 是可选的字母 [l]
,或映射到此类版本的 a..z
/libssl.so
符号链接)。
第二个,libcrypto.so
,扩展名 TIdSSLIOHandlerSocketOpenSSL
,does not support OpenSSL 1.1.x,只有 OpenSSL 1.0.2 及更早版本,如上所示。
要使用 OpenSSL 1.1.x,您需要使用不同的 TIdServerIOHandlerSSLOpenSSL
。一个目前正在等待审查的拉取请求中,因此尚未合并到 Indy 的主要代码中,但您可以尝试一下,看看它是否适合您:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。