【问题标题】:Indy "Could not load SSL Library" with Delphi 2007/Apache使用 Delphi 2007/Apache 的 Indy“无法加载 SSL 库”
【发布时间】:2009-06-04 19:39:55
【问题描述】:

我知道这个问题已经被问过很多次了。我似乎有一点不同的问题。在我最初抛出异常后的情况下,它工作正常(不;我没有关闭异常)。所以我所做的是我只是重新发布的例外:

IdHTTP1.Post(.......

我已将 libeay32.dll 和 ssleay32.dll 放在 Apache bin 目录和我的 ISAPI dll 所在的目录中。

有人有什么建议吗?

【问题讨论】:

    标签: delphi apache ssl indy


    【解决方案1】:

    该错误意味着在调用 TIdSSLIOHandlerSocketOpenSSL.Init() 以首先初始化 SSL 上下文之前,TIdSSLIOHandlerSocketOpenSSL.PassThrough 属性被设置为 False(在发布到 HTTPS URL 时会发生这种情况)。

    听起来像一个错误。下次遇到错误,能不能抓到堆栈跟踪?

    【讨论】:

    • 在这里。抱歉,我似乎无法插入回车。 :7761b08e kernel32.RaiseException +将0x58:0113bb57 Call_HookedRaise + $ B3:011f7bed TIdSSLContext.Create + $ 61:011f7481 TIdSSLIOHandlerSocketOpenSSL.Init + $ 1D:011f7270 TIdSSLIOHandlerSocketOpenSSL.ConnectClient + $ 20:012076e2 TIdCustomHTTP.CheckAndConnect + $ 7E:01207b2a TIdCustomHTTP.ConnectToHost + $ 3 BE :01209426 TIdCustomHTTP.DoRequest + $152 :012064d7 TIdCustomHTTP.Post + $9F :01206899 TIdCustomHTTP.Post + $D1 :012069ec TIdCustomHTTP.Post + $6C MyMain.SubmitIt
    • 鉴于堆栈跟踪,有两种可能性:1) 根本无法加载 OpenSSL DLL(您可以使用 WhichFailedToLoad() 来检查); 2) OpenSSL 已加载,但 mi_SSLeay_add_ssl_algorithms() 函数失败。
    【解决方案2】:

    对于 Indy,您需要一个特殊的 OpenSSL 库构建。默认的 OpenSSL 库不适合与 Indy 一起使用。

    See also。可能您需要尝试不同的版本,直到找到合适的版本。

    【讨论】:

    • 这仅适用于旧版本的 Indy。现代版本按原样使用默认的 OpenSSL DLL。
    猜你喜欢
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 2016-05-19
    • 2012-05-04
    相关资源
    最近更新 更多