[英]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.Username
和TIdHTTP.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.