TJ *_*her 0 delphi indy indy10
问候所以大脑信任.
如果没有为Indy 10 TIdSSLIOHanderSocketOpenSSL明确设置协议,那么使用的默认协议是什么?
我今天遇到了一些没有明确设置协议的代码.
HTTPReq := TIdHTTP.Create(nil);
IdSSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
if Assigned(HTTPReq) then begin
HTTPReq.ReadTimeout := 180000;//set read timeout to 3 minutes
HTTPReq.Request.ContentType := 'text/xml;charset=UTF-8';
HTTPReq.Request.Accept := 'text/xml';
HTTPReq.Request.AcceptEncoding := 'gzip,deflate';
HTTPReq.HTTPOptions := [];
HTTPReq.IOHandler := IdSSLIOHandler;
end;
Run Code Online (Sandbox Code Playgroud)
请注意,所使用的协议没有明确的设置!如果没有设置,默认使用什么?我担心的是这是使用TLS 1.0或者很快被弃用的东西.
使用Delphi 10.2 Tokyo Update 1和Indy 10.6.2.5366以及最新的1.0.2n Open SLL DLL
干杯!
TJ
默认值仅为TLS 1.0.您可以通过查看SSLOptions.Method和SSLOptions.SSLVersions属性的声明来看到这一点.他们都被设置为sslvTLSv1,由指定的DEF_SSLVERSION,并DEF_SSLVERSIONS在常量IdSSLOpenSSL单元.