delphirules:
私は、Delphi 10.3.3を使用しています。作業に使用されるが、今、私はHTTPS経由でファイルをダウンロードしようとすると、エラーを取得しています下のコード:
SSLエラーで接続エラー:1409442E:SSLルーチン:SSL3_READ_BYTES:TLSv1の警告プロトコルバージョン」
var
ms : tmemorystream;
ssl : TIdSSLIOHandlerSocketOpenSSL;
source,dest : string;
begin
source := 'https://www.myaddress.com/myfile.zip';
dest := 'c:\myfile.zip';
ms := TMemoryStream.Create;
try
if pos('https',source) > 0 then
begin
ssl := TIdSSLIOHandlerSocketOpenSSL.Create();
idh.IOHandler := ssl;
end;
idhttp1.get(source,ms);
ms.savetofile(dest);
result := 'ok';
finally
ms.Free;
end;
end;
Pethical:
TIdSSLIOHandlerSocketOpenSSL
用途は、デフォルトでv1.0のをTLS、サーバーはそれを拒否しています。あなたは明示的に新しいTLSのバージョンを許可する必要があります。
ssl := TIdSSLIOHandlerSocketOpenSSL.Create();
ssl.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
idh.IOHandler := ssl;