@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