【问题标题】:Delphi Indy10 required SSL libraries under Linux?Delphi Indy10 在 Linux 下需要 SSL 库吗?
【发布时间】:2021-07-16 21:40:09
【问题描述】:

使用 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下不接受?

【问题讨论】:

    标签: delphi cross-compiling indy10


    【解决方案1】:

    首先,您不能在 Linux 上使用 Windows DLL。您需要 Linux 二进制文件,在 Linux 上 TIdSSLIOHandlerSocketOpenSSL 将寻找 libssl.so.x.x.x[l]libcrypto.so.x.x.x[l](其中 x.x.x1.0.2 或更低版本,[l] 是可选字母 a..z 或 @ 987654330@/libcrypto.so 映射到此类版本的符号链接)。

    其次,TIdSSLIOHandlerSocketOpenSSL,以及扩展名TIdServerIOHandlerSSLOpenSSLdoes not support OpenSSL 1.1.x,仅 OpenSSL 1.0.2 及更早版本,如您在上面看到的。

    要使用 OpenSSL 1.1.x,您需要使用不同的 IOHandler。一个目前处于 pull request 中等待审核,因此尚未合并到 Indy 的主代码中,但您可以尝试一下,看看它是否适合您:

    #299 Added new OpenSSL IO Handler for OpenSSL 1.1.1

    【讨论】:

    • 这确实是一个很高的 SSL 版本。我决定安装 1.0.2,因为我在尝试全新的 SSL 系统时遇到了很多问题。它现在工作正常。谢谢雷米。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2013-07-02
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多