HTTPS ohne OpenSSL?
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
HTTPS ohne OpenSSL?
Hallo,
Mein Provider hat leider umgestellt auf HTTPS und HTTP wird automatisch immer zu HTTPS, das ist echt doof, nun kann ich nicht mehr einfach eine Versionsinfo von meiner EXE laden.
Gibt es eine Komponente mit der ich per GET Befehl eine HTTPS Seite laden kann ohne dass ich extra die OpenSSL DLL's benötige?
Beispiel: http://www.mmvisual.de/download/version.xml
Die EXE läuft Stand allone in allen möglichen Betriebssystemen und wenn ich da noch zusätzlich dieses OpenSSL brauche, dann verkompliziert es die Einfachheit von der EXE enorm.
Vielen Dank für die Hilfe.
VG Markus.
Mein Provider hat leider umgestellt auf HTTPS und HTTP wird automatisch immer zu HTTPS, das ist echt doof, nun kann ich nicht mehr einfach eine Versionsinfo von meiner EXE laden.
Gibt es eine Komponente mit der ich per GET Befehl eine HTTPS Seite laden kann ohne dass ich extra die OpenSSL DLL's benötige?
Beispiel: http://www.mmvisual.de/download/version.xml
Die EXE läuft Stand allone in allen möglichen Betriebssystemen und wenn ich da noch zusätzlich dieses OpenSSL brauche, dann verkompliziert es die Einfachheit von der EXE enorm.
Vielen Dank für die Hilfe.
VG Markus.
Zuletzt geändert von MmVisual am So 15. Jan 2023, 23:26, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: HTTPS ohne ObenSSL?
Kannst du das nicht so konfigurieren, dass nicht automatisch umgeleitet wird?
Bei meinem Provider ist das eine Option.
Um SSL Libs wirst du sonst nicht herum kommen, soweit ich weiss.
Bei meinem Provider ist das eine Option.
Um SSL Libs wirst du sonst nicht herum kommen, soweit ich weiss.
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: HTTPS ohne OpenSSL?
Mein früherer Provider hat seine Firma verkauft, das ging so lange gut bis die nun das ganze vollends in ihre eigene Server umgezogen haben.
Der neue Provider hat eine grottenschlechte Web Konfigurationsoberfläche wo man nichts einstellen kann.
Ich habe denen ein Support Ticket geschrieben, mal schauen ob die antworten.
Der neue Provider hat eine grottenschlechte Web Konfigurationsoberfläche wo man nichts einstellen kann.

Ich habe denen ein Support Ticket geschrieben, mal schauen ob die antworten.
EleLa - Elektronik Lagerverwaltung - www.elela.de
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: HTTPS ohne OpenSSL?
Moin!
Unter Windows geht HTTPS mit Bordmitteln, umgesetzt in der Unit WinINet
https://wiki.freepascal.org/Windows_Pro ... _retrieval
Grüße, Jörg
Unter Windows geht HTTPS mit Bordmitteln, umgesetzt in der Unit WinINet
https://wiki.freepascal.org/Windows_Pro ... _retrieval
Grüße, Jörg
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: HTTPS ohne OpenSSL?
Da würde ich dann doch lieber die .dll als Ressource ins Projekt hohlen und dynamisch nach laden, ..
--
Just try it
Just try it
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: HTTPS ohne OpenSSL?
Es sollte etwas sein, was nativ funktioniert, also nicht abhängig ist vom OS.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: HTTPS ohne OpenSSL?
Naja du könntest einfach über ein IFDEF sowohl die Windows als auch die FPWeb variante einbauen. Unter Linux (und ich glaube auch MacOS) sind die OpenSSL bibliotheken systemweit installiert, d.h. da brauchst du dir darum keine sorgen zu machen.MmVisual hat geschrieben: Mo 16. Jan 2023, 08:11 Es sollte etwas sein, was nativ funktioniert, also nicht abhängig ist vom OS.
Re: HTTPS ohne OpenSSL?
@MmVisual: Ich glaube du wurdest von deinem Provider erhört.
So geht es jetzt bei mir:
Achtung: Einen UserAgent braucht es, sonst mosert deine "Web Application Firewall "

So geht es jetzt bei mir:
Code: Alles auswählen
var
HTTP: THTTPSend; //Synapse unit httpsend
Res:Boolean;
begin
HTTP := THTTPSend.Create;
try
HTTP.UserAgent:='Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0';
Res := HTTP.HTTPMethod('GET', 'http://www.mmvisual.de/download/version.xml');
if Res then Memo1.Lines.LoadFromStream(HTTP.Document);
finally
HTTP.Free;
end;
end;
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: HTTPS ohne OpenSSL?
Vielen Dank, theo! Es klappt!
Ja, diese Fehlermeldung hatte ich auch gesehen und ich konnte damit rein gar nichts anfangen, denn eine "index.html" liegt in dem Ordner bereits drin, damit man da keine "File Walking" betreiben kann. Wenn man kein Web-Spezi ist, dann weiß man das einfach nicht was deren Server noch extra haben will.

Ja, diese Fehlermeldung hatte ich auch gesehen und ich konnte damit rein gar nichts anfangen, denn eine "index.html" liegt in dem Ordner bereits drin, damit man da keine "File Walking" betreiben kann. Wenn man kein Web-Spezi ist, dann weiß man das einfach nicht was deren Server noch extra haben will.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 177
- Registriert: Mi 2. Sep 2015, 11:09
- OS, Lazarus, FPC: Lazaurus 2.2.4 FPC 3.2.2
- CPU-Target: Windows 32/64bit
Re: HTTPS ohne OpenSSL?
Hallo,
Falls jemand ein konkretes HowTo dafür hätte, wäre ich sehr dankbar.
Das hatte ich auch schon öfters im Sinn, aber scheitere jedesmal kläglich, wenn ich einen Versuch starte, die DLLs für die Nutzung mit den Indy-Komponenten in das Programm einzubinden und zu laden.corpsman hat geschrieben: Mo 16. Jan 2023, 05:37 Da würde ich dann doch lieber die .dll als Ressource ins Projekt hohlen und dynamisch nach laden, ..
Falls jemand ein konkretes HowTo dafür hätte, wäre ich sehr dankbar.
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: HTTPS ohne OpenSSL?
Variante 1:
- Die OpenSSL DLL's als Ressource verpacken
- Mit in die EXE linken
- vor dem ersten Nutzen diese aus der Ressource laden und in das gleiche Verzeichnis der EXE ablegen
Variante 2:
- Die OpenSSL DLL's erst zippen und dann als Ressource verpacken
- Mit in die EXE linken
- vor dem ersten Nutzen diese aus der Ressource laden mit Abbrevia entpacken und in das gleiche Verzeichnis der EXE ablegen
Problem: Die Exe darf nicht nach C:\Programme schreiben, dann muss man irgend ein Temp-Verzeichnis verwenden und man muss die DLL aus diesem Temp Verzeichnis einbinden.
Wie man eine DLL direkt aus dem RAM nutzen kann weiß ich nicht, das wäre jedoch die "Krönung", dann muss man diese nicht unbedingt auf der Festplatte ablegen.
So ähnlich mit Dateien in Ressource packen habe ich es mit der Programm Hilfe gemacht, alle HTML Dateien rein in die Ressource, dann kann man diese innerhalb der EXE als Stream nutzen und über eine THTMLViewer Komponente laden, ganz ohne Dateien.
Jedoch wie man eine DLL als Stream laden kann weiß ich nicht (LoadLibrary(Stream: TStream) gibt es nicht, bzw. GetProcAddress(Stream, FunctionName) auch nicht).
- Die OpenSSL DLL's als Ressource verpacken
- Mit in die EXE linken
- vor dem ersten Nutzen diese aus der Ressource laden und in das gleiche Verzeichnis der EXE ablegen
Variante 2:
- Die OpenSSL DLL's erst zippen und dann als Ressource verpacken
- Mit in die EXE linken
- vor dem ersten Nutzen diese aus der Ressource laden mit Abbrevia entpacken und in das gleiche Verzeichnis der EXE ablegen
Problem: Die Exe darf nicht nach C:\Programme schreiben, dann muss man irgend ein Temp-Verzeichnis verwenden und man muss die DLL aus diesem Temp Verzeichnis einbinden.
Wie man eine DLL direkt aus dem RAM nutzen kann weiß ich nicht, das wäre jedoch die "Krönung", dann muss man diese nicht unbedingt auf der Festplatte ablegen.
So ähnlich mit Dateien in Ressource packen habe ich es mit der Programm Hilfe gemacht, alle HTML Dateien rein in die Ressource, dann kann man diese innerhalb der EXE als Stream nutzen und über eine THTMLViewer Komponente laden, ganz ohne Dateien.
Jedoch wie man eine DLL als Stream laden kann weiß ich nicht (LoadLibrary(Stream: TStream) gibt es nicht, bzw. GetProcAddress(Stream, FunctionName) auch nicht).
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: HTTPS ohne OpenSSL?
Zumindest hat es mal jemand für Windows versucht: https://github.com/fancycode/MemoryModuleMmVisual hat geschrieben: Mo 16. Jan 2023, 19:38 Wie man eine DLL direkt aus dem RAM nutzen kann weiß ich nicht, das wäre jedoch die "Krönung", dann muss man diese nicht unbedingt auf der Festplatte ablegen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 359
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: HTTPS ohne OpenSSL?
Moin!Socke hat geschrieben: Mo 16. Jan 2023, 20:34Zumindest hat es mal jemand für Windows versucht: https://github.com/fancycode/MemoryModuleMmVisual hat geschrieben: Mo 16. Jan 2023, 19:38 Wie man eine DLL direkt aus dem RAM nutzen kann weiß ich nicht, das wäre jedoch die "Krönung", dann muss man diese nicht unbedingt auf der Festplatte ablegen.
Und hier die Adaption für Delphi/Lazarus: https://github.com/Fr0sT-Brutal/Delphi_MemoryModule
Ich habe es noch nicht getestet, bin aber interessiert. Leider kann ich aus der Beschreibung nicht herauslesen, ob es auch für 64-Bit DLLs funktioniert.
Ich hatte vor Jahren mal eine Umsetzung gefunden, die damals nur mit 32 Bit funktionierte und deshalb für mich uninteressant war.
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: HTTPS ohne OpenSSL?
Zumindest hat man sich im Code ein paar Gedanken zu 64Bit und auch zum FPC gemacht:Jorg3000 hat geschrieben: Di 17. Jan 2023, 05:54 Leider kann ich aus der Beschreibung nicht herauslesen, ob es auch für 64-Bit DLLs funktioniert.
Code: Alles auswählen
{$IFDEF FPC}
{$mode delphi}
{$IFDEF CPU64}
{$DEFINE CPUX64}
{$ENDIF}
{$ENDIF}
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: HTTPS ohne OpenSSL?
Ich habs nicht compiliert bekommen auch nicht 32 Bit