Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Zertifikat nutzen (https://www.delphipraxis.net/190671-zertifikat-nutzen.html)

EmWieMichael 11. Okt 2019 07:22

AW: Zertifikat nutzen
 
@Zwirbel
Hast Du meinen Code mal getestet?

Zwirbel 9. Dez 2019 10:37

AW: Zertifikat nutzen
 
Zitat:

Zitat von EmWieMichael (Beitrag 1449476)
@Zwirbel
Hast Du meinen Code mal getestet?

Asche auf mein Haupt, ich hatte diesen Post von dir nicht mitbekommen. In der Zwischenzeit habe ich Stunden damit verbracht das Windows-Zertifikat, das ich vorher in den Zertifikatsspeicher von Windows installiert hatte, zu verwenden, alles ohne Erfolg. Am Freitag war ich nun auf eine ganz andere Lösung gestoßen. Mit dem Test-Projekt "OverbyteIcsHttpsTst" von den ICS-Komponenten ("ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10.3 Rio"). Da verwende ich die PEM-Datei die man mir auch zur Verfügung gestellt hatte und ich konnte in der Tat Daten abfragen. So weit so gut.

Aber das würde bedeuten, ich müsste meinen bisherigen Code komplett umwerfen, all die schönen und simplen TRest-Komponenten von Delphi in Zusammenhang mit einem RESTResponseDataSetAdapter, das war ja einfach genial, nach der Datenabfrage marschiert man einfach durch ein DataSet durch, kein Gepfriemel das JSON auseinander zu pflücken etc.

In diesem BlogPost:
http://blog.marcocantu.com/blog/2018...ents-1022.html

steht etwas von "New REST Client Events OnNeedClientCert and OnAuthEvent", das liest sich eigentlich genau so, als ob das meine Lösung wäre, einfach in dem OnNeedClientCert das Zertifikat bestimmen und fertig. Leider gibt es mal wieder keine brauchbare Online-Hilfe zu diesem Event.

Hier:
https://quality.embarcadero.com/browse/RSP-15857

steht nur:
"It uses the computer's certificate store. Install the certificate, then when OnNeedClientCert fires, you return the index of the certificate from the provided Certificate you want to use."

Der Witz ist nur dieser Event feuert bei mir nicht.

Der Kommentar eines Nutzers:
"Without this feature, the Rest Debugger is useless when you need certificates. Sample code on the doc also would be fine."

Dem kann ich nur zustimmen. Es ist frustrierend, dass in Delphi so viele Möglichkeiten schlummern, die man aber mangels vorhandener tauglicher Beispiele in die Praxis nicht umsetzen kann. Die Entwickler die diesen Event "OnNeedClientCert" implementiert haben, die müssen das doch auch mal irgendwie getestet haben. Ist es da zu viel verlangt "einfach" ein paar Code-Schnippsel in die Online-Hilfe zu pappen. So suchen sich hunderte und tausende von Entwicklern dusselig bis sie es sich dann selbst aus den Fingern gesogen haben oder die Sache in die Ecke feuern...

Hat jemand hier praktische Erfahrung mit dem Event "TRestClient.OnNeedClientCert"?

Danke im Voraus. Gruß, Markus

Codehunter 9. Dez 2019 11:06

AW: Zertifikat nutzen
 
Zitat:

Zitat von Zwirbel (Beitrag 1453024)
Es ist frustrierend, dass in Delphi so viele Möglichkeiten schlummern, die man aber mangels vorhandener tauglicher Beispiele in die Praxis nicht umsetzen kann. Die Entwickler die diesen Event "OnNeedClientCert" implementiert haben, die müssen das doch auch mal irgendwie getestet haben. Ist es da zu viel verlangt "einfach" ein paar Code-Schnippsel in die Online-Hilfe zu pappen. So suchen sich hunderte und tausende von Entwicklern dusselig bis sie es sich dann selbst aus den Fingern gesogen haben oder die Sache in die Ecke feuern...

Bist du des Wahnsinns? Wenn es eine vernünftige Delphi-Hilfe gäbe, bräuchten wir die DP nicht mehr :lol:

Ich kann deinen Frust gut verstehen. Wir hatten mit den Restkomponenten derart viele Probleme, dass wir nicht nur ein eigenes REST-HTTPS-Backend auf Basis von Indy gebaut haben sondern sogar noch einen JSON-Parser dazu, der XPath versteht. Dadurch können wir auf der selben Codebasis sowohl JSON, als auch XML und SOAP ansprechen.

Warum die neuen Restkomponenten in der Praxis so viele Probleme machen? Weil sie zu sehr auf das Betriebssystem setzen. Da greifen Sicherheitseinstellungen, denen sich die Anwender nicht einmal bewusst sind. Zumal der Großteil dieser Einstellungen unter Windows in der Abteilung Internet Explorer getätigt werden muss - einem abgekündigten Browser, der noch so ca. 4% Marktanteil hat.

Insofern würde ich noch nicht einmal Emba einen Vorwurf machen. Kaputtgefrickelt wurde Wininet von Microsoft. Der einzige Fehler von Emba war, überhaupt von Indy auf Wininet umzusteigen.

Zwirbel 17. Dez 2019 09:46

AW: Zertifikat nutzen
 
Um die Sache hier abzuschließen. Das "OnNeedClientCert" funktioniert bei mir nicht. Im Thread "https://quality.embarcadero.com/browse/RSP-15857" wurde mir bestätigt, dass es aber funktioniert. Ich hatte dazu ein kleines Test-Programm geschrieben. Nun wird der Fall wieder untersucht. Mal gespannt, wann es da eine Lösung gibt. Zwischenzeitlich habe ich mir mit den ICS-Komponenten ("ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10.3 Rio") geholfen. Hilfreich ist dabei das Test-Projekt "OverbyteIcsHttpsTst".


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.
Seite 3 von 3     123   

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