THTTPRIO::HTTPWebNode soIgnoreInvalidCerts



  • hallo zusammen

    ich habe das problem mit THTTPRIO::HTTPWebNode und der option "soIgnoreInvalidCerts", dass damit ein ungültiges SSL zertifikat nicht funktioniert. nach ein wenig googlen habe ich rausgefunden das scheinbar SoapHttpTrans.pas einen bug hat.

    folgende seite demonstriert wie man es in delphi fixen kann:
    http://delphi.newswhat.com/geoxml/forumhistorythread?groupname=borland.public.delphi.webservices.soap&messageid=4285f7b1$1@newsgroups.borland.com

    leider kann ich den code nicht vollständig in einen gültigen C++ syntax umschreiben. schon alleine die (eigentlich windows API's) InternetQueryOption und InternetSetOption kann ich mit dem C++ Builder 6 pro garnicht benutzen. auch wenn ich Wininet.h einbinde. das nächste problem ist aber auch, das ich die methode OnBeforePost von THTTPRIO::HTTPWebNode garnicht enthalten habe 😕 und wie ich Pointer(@VAR) umschreibe ist mir auch nicht ganz klar. wahrscheinlich aber ein zeiger auf DWord.

    kann mir jemand vielleicht dabei helfen oder weiss jemand eine andere lösung, damit self signed zertifikate funktionieren? mir persönlich ist es nähmlich wirklich egal ob das zertifikat abgelaufen, nicht vertrauenswürdig oder sonst was ist, weil ich es nur für eine datenverschlüsselung brauche.

    hope you can help me 🕶



  • webby23 schrieb:

    schon alleine die (eigentlich windows API's) InternetQueryOption und InternetSetOption kann ich mit dem C++ Builder 6 pro garnicht benutzen. auch wenn ich Wininet.h einbinde.

    Was heißt "kann ich nicht benutzen"? Bei meinem C++Builder 6 geht das problemlos.

    webby23 schrieb:

    das nächste problem ist aber auch, das ich die methode OnBeforePost von THTTPRIO::HTTPWebNode garnicht enthalten habe 😕

    Das gibt es in C++Builder 6 offenbar noch nicht.

    webby23 schrieb:

    und wie ich Pointer(@VAR) umschreibe ist mir auch nicht ganz klar. wahrscheinlich aber ein zeiger auf DWord.

    Das ist ein Hard Cast; das Äquivalent wäre reinterpret_cast<>, aber da in C und C++ Zeiger jeden Typs implizit in untypisierte (void-) Zeiger umgewandelt werden, ist der Cast nicht nötig.
    '@' ist der Adreßoperator; die C++-Entsprechung wäre '&'.



  • Das gibt es in C++Builder 6 offenbar noch nicht.

    dann wird mir der code wahrscheinlich nicht viel bringen, da ich der methode einen methoden-zeiger zuweisen müsste. wie kann man denn die fest integrierten komponenten vom C++ builder eigentlich aktualisieren? angenommen ich ändere die SoapHttpTrans.pas, wie aktualisiere ich dann das package, von wessen ich garnicht wiess wo es ist?



  • webby23 schrieb:

    angenommen ich ändere die SoapHttpTrans.pas, wie aktualisiere ich dann das package, von wessen ich garnicht wiess wo es ist?

    Eine Kopie davon erstellen, daran die Änderungen anbringen und die Kopie zum Projekt hinzufügen.


Anmelden zum Antworten