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