Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort (https://www.delphipraxis.net/198744-put-get-mit-client-zertifikat-pem-pksc12-container-mit-passwort.html)

DrKlobner 27. Nov 2018 13:02

PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort
 
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

TiGü 27. Nov 2018 13:31

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

Zitat von DrKlobner (Beitrag 1419362)
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?

Welche Delphi-Version setzt du denn ein?

DrKlobner 27. Nov 2018 18:12

AW: PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort
 
Delphi 10 Berlin!

ConstantGardener 27. Nov 2018 20:51

AW: PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort
 
...also nichts für ungut, aber die Try...Finally Blöcke solltest du nochmal überdenken!

DrKlobner 28. Nov 2018 09:50

AW: PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort
 
Ok - das ist ein Beispiel aus dem Netz.

Wenn nicht so dann:

Wie kann ich in Delphi einen PKCS#12-container mit Passwort entpacken?

DrKlobner 29. Nov 2018 20:35

AW: PUT/GET mit Client-Zertifikat in PEM-/PKSC12-Container mit Passwort
 
Gelöst: :-D

In dem Ereignis "IdSSLIOHandlerSocketOpenSSL1.OnGetPassword" kann man z.B. das Passwort beim User abfragen und dem Objekt zurück geben.

Viele Dank für Eure Mühen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz