AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TRestClient mit SSL-P12-Zertifikat, wie funktioniert das?
Thema durchsuchen
Ansicht
Themen-Optionen

TRestClient mit SSL-P12-Zertifikat, wie funktioniert das?

Ein Thema von gmc616 · begonnen am 28. Nov 2022 · letzter Beitrag vom 7. Dez 2022
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.909 Beiträge
 
Delphi 12 Athens
 
#12

AW: TRestClient mit SSL-P12-Zertifikat, wie funktioniert das?

  Alt 1. Dez 2022, 22:58
Und ist sicherlich ein Thema, wenn es darum geht, Methoden auszuführen oder zu überschreiben, die vom Entwickler einer Klasse so nicht vorgesehen waren. So wie hier mit der TRestClient-Klasse. Ich habe dich doch richtig verstanden?
Ja, richtig. Leider hat Embarcadero schon eine Kunstform daraus gemacht, erweiterte Funktionalitäten so zu verstecken, dass man sie von außen nicht nutzen kann. Dann bleibt leider nur, den Code selbst ein zweites Mal zu schreiben, die Unit herauszukopieren und zu ändern oder in die Funktionalität einzugreifen wie hier.

Leider stößt man darauf immer wieder, dass Funktionalität in RTL, VCL usw. eigentlich schon vorhanden ist, aber leider nicht so genutzt werden kann, wie man es braucht. Das ist wirklich schade, vor allem, weil solche Einschränkungen an einigen Stellen wirklich keinerlei Sinn machen.

Und auch mit Delphi 11 kommt man im konkreten Fall an den Request selbst nicht so einfach heran, kann also andere ggf. nicht unterstützte Optionen weiter nicht ohne solche Tricks über die Windows API setzen.

Rein interessehalber, funktioniert diese Methodik, dieses "Hooking", generell mit jeder Klasse, egal aus welchem Compilier sie stammt, Borland , M$, C++ / C# / usw., oder nur mit Delphi-Binarys?
Das Prinzip funktioniert mit objektorientierten Sprachen, die ein late binding unterstützen (sprich, wo die konkret aufzurufende Methode aufgrund der Vererbung mit überschreiben usw. zur Laufzeit ermittelt werden muss), recht universell. Ja, z.B. in C++, Java und C# funktioniert das.

Es gibt dafür auch Bibliotheken, so dass man die Umleitung nicht mehr manuell im Speicher machen muss, z.B. DDetours, die Delphi Detours Library. Da ich ohnehin im Speicher herumfummeln musste, um hinterher an das Handle der Verbindung zu kommen, habe ich es aber manuell gemacht.
Sebastian Jänicke
AppCentral

Geändert von jaenicke ( 1. Dez 2022 um 23:01 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 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