Einzelnen Beitrag anzeigen

DrKlobner

Registriert seit: 27. Nov 2018
5 Beiträge
 
#1

PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort

  Alt 27. Nov 2018, 14:02
Ich möchte mit Delphi-Mitteln PUT-, GET- und REST-Aufrufe ausführen. SSL Zugrif mit einem gegebenen Client-Zertifikat in einem PEM-Container mit pwd.

Habe dieses Beispiel gefunden:
Code:
function TForm1.testCert: boolean;
var IdHTTP1 : TIdHTTP;
    Id_HandlerSocket : TIdSSLIOHandlerSocketOpenSSL;
    cert:string;
    s : string;
begin
    try
      memo1.Clear;
      IdHTTP1 := TIdHTTP.Create( self );
      IdHTTP1.Request.BasicAuthentication := False;
      IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
      Id_HandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create( IdHTTP1 );
      cert := 'zugang.pem';
      Id_HandlerSocket.SSLOptions.CertFile := cert; (* PEM contain both CERT and Key *)
      Id_HandlerSocket.SSLOptions.KeyFile := cert;

      Id_HandlerSocket.SSLOptions.Mode := sslmClient;
      Id_HandlerSocket.SSLOptions.Method := sslvSSLv23;
      IdHTTP1.IOHandler := Id_HandlerSocket;

      memo1.Lines.Add( Id_HandlerSocket.SSLOptions.CertFile );

      s := IdHTTP1.Get( 'https://www.scriptjunkie.us/auth/verifycert' );

      memo1.lines.Add( s );
      Result:=True;

    finally
      Id_HandlerSocket.Free;
      IdHTTP1.Free;
    end;
end;
Wie kann ich hier das Container-Passwort angeben?

Oder sollte man besser andere Delphi-Komponenten werwenden? Kennt jemand andere/bessere Beispiele? Mit externem OpenSSL und curl klapp das, aber mit welchen Delphi-Tools?

LG Hans
  Mit Zitat antworten Zitat