簡體   English   中英

Delphi 7 和 Indy 9.0 連接 SSL 時出錯

[英]Delphi 7 and Indy 9.0 Error Connecting SSL

我正在使用TIdHTTP組件執行GET命令,導致上述錯誤消息:

Request.ContentType := 'text/html';
Request.CustomHeader.Values['Authorization'] := 'Basic '+ TIdEncoderMIME.EncodeString(SPIAKey)+':'TIdEncoderMIME.EncodeString(SAPISecret);

TIdSSLIOHHandlerSocket

方法 - sslvSSLv2

有人可以幫我嗎?

NOBODY不再使用 SSL v2.0 或 SSL v3.0,因為它們不再安全。 至少需要使用 TLS v1.0 1 Indy 9 的TIdSSLIOHandlerSocket組件最高支持 TLS v1.0 max 為此,將SSLOptions.Method屬性設置為sslvTLSv1

1:請注意,網站已經慢慢放棄對 TLS v1.0 的支持,主要的網絡瀏覽器供應商將在今年晚些時候放棄對 TLS v1.0 和 v1.1 的支持。

要使用 TLS v1.1 及更高版本,您需要升級到 Indy 10,其中TIdSSLIOHandlerSocket已重命名為TIdSSLIOHandlerSocketOpenSSL ,並且其SSLOptions.Method屬性已被棄用以支持新的SSLOptions.SSLVersions屬性,這將允許您啟用同時支持 TLS v1.0、v1.1 和 v1.2。


附帶說明一下,您不需要使用TIdHTTP.Request.CustomHeader屬性來使用Basic身份驗證。 TIdHTTP內置了對Basic支持。 只需將TIdHTTP.Request.BasicAuthentication屬性設置為 True,然后使用TIdHTTP.Request.UsernameTIdHTTP.Request.Password屬性:

Request.ContentType := 'text/html';
Request.BasicAuthentication := True;
Request.Username := SPIAKey;
Request.Password := SAPISecret;

這適用於 Indy 9 和 10。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM