如果未明确设置,用于 Indy TIdSSLIOHandlerSocketOpenSSL 的默认协议是什么?
What is the default protocol used for Indy TIdSSLIOHandlerSocketOpenSSL if not explicitly set?
你好智囊团。
如果没有为 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;
请注意,所用协议没有明确设置!如果什么都不设置,默认使用什么?我担心的是这是使用 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
,由 IdSSLOpenSSL
单元中的 DEF_SSLVERSION
和 DEF_SSLVERSIONS
常量指定。
你好智囊团。
如果没有为 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;
请注意,所用协议没有明确设置!如果什么都不设置,默认使用什么?我担心的是这是使用 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
,由 IdSSLOpenSSL
单元中的 DEF_SSLVERSION
和 DEF_SSLVERSIONS
常量指定。