Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#5

AW: TIDHTTP - Open SSL - TLS

  Alt 13. Apr 2020, 15:27
Hingedaddelt mal einfach sowas probieren:
Delphi-Quellcode:
function GetSSLMethod(sUrl: string; var sMessage: string; ssl: TIdSSLIOHandlerSocketOpenSSL; http: TIdHTTP): Integer;
var
  myIdSSLVersion: TIdSSLVersion;
begin
  Result := -1;
  for myIdSSLVersion := Low(TIdSSLVersion) to High(TIdSSLVersion) do begin
    SSL.SSLOptions.Method := myIdSSLVersion;
    try
      http.RedirectMaximum := 0;
      http.HandleRedirects := false;
      http.Response.Clear;
      http.Get(sUrl);
      http.Disconnect(True);
      http.IOHandler.InputBuffer.Clear;
      Result := Ord(myIdSSLVersion);
      break;
    except
      on e: Exception do begin
        case http.ResponseCode of
          301, 302 : sMessage := sMessage + #13 + http.ResponseText;
        else
          sMessage := sMessage + #13 + AnsiReplaceText(e.Message, #13#10, ' ');
        end;
        http.Disconnect(True);
        http.IOHandler.InputBuffer.Clear;
      end;
    end;
  end;
end;
Es passiert in etwa folgendes:

Es werden in einer Schleife alle SSL-Version durchprobiert, bis zur ersten funktionierenden.
Die kann dann zur weiteren Verarbeitung genutzt werden.

Ist der Rückgabewert der Funktion -1, so konnte keine funktionierende SSL-Version ermittelt werden.

images.trckacbm.com nutzt das von Dir gewählte Protokoll nicht, sondern nur TLS 1.2 und TLS 1.1, von daher ist die Fehlermeldung absolut korrekt und hat nichts mit lokalen DLLs zu tuen.

U. a. dort kannst Du prüfe lassen, welche Protokolle genutzt werden können: https://www.ionos.de/tools/ssl-check
  Mit Zitat antworten Zitat