QSslServer?

Alles rund um die Programmierung mit Qt
Antworten
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

QSslServer?

Beitrag von Strahlex »

Ich möchte eine ganz normale Tcp-Verbindung mit SSL verschlüsseln.
Was benötige ich dazu (Zertifikate?), wie bringe ich QTcpServer dazu auf Port 443 zu lauschen (gibt einen leeren Fehler zurück) und wie kann ich kann ich den QTcpServer überhaupt dazu bringen die SSL Verschlüsselung zu starten (muss ich da eine Klasse ableiten oder gibts sowas wie QSslServer?).
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Mit dem Qssl zeugs kenn ich mich ned so aus.

Aber wenn sowas machst, solltest dich scho gut mit dem SSL / TLS Zeugs auskennen .... Weil was hilft dir die verschluesselung, wenn die jeder knacken kann weil über die, ehrlich gesagt, reichlich vorhanden Stolpersteine fliegst.

Weiterhin iss die frage ob du richtiges vollwertiges TLS brauchst, also inklusive verifizierung der Server-Certifikate, was IMHO ohne eintrag in nem annerkannten Certifizierungssystem kaum Sinn macht, und eben ne menge nebenbei kostet. Willst Deine(n) server selber verifizieren oder den keyaustausch bissi restrikter gestalten, brauchst kein volles SSL/TLS Handshaking.

Weiterhin, weiss ich ned wo dein server mal "produktiv" laufen soll ... aber qt in den abhaengigkeiten macht bei manchen linux distries noch bisserl probleme. Trotz das qt4 nu schoen in qtcore, qtgui etc unterteilt sind, hat sich das noch ned bis in alle distries rumgesprochen. wenn dein packetmanager dann nen volles X aufn server installiert, wirst du, bzw deine admins ned wirklich gluecklich sein.
Wenn du also ne breite palette an BS unterstuetzen willst, und dein system vielen zugaenglich machen willst, rat ich Dir es ohne die qt zu versuchen. entweder ne andere ssl lib mit weniger abhaengigkeiten, oder direkt auf die openssl-lib zu gehen ...

Auf clientseite kannst die qt dann ruhig nutzen, da macht es auch sinn ...

Ciao ...
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Okay, so groß hab ich eigentlich nicht gedacht.
Eigentlich brauch ich die SSL Verschlüsselung nur um durch einen Proxy zu tunneln, ob knackbar oder nicht ist irrelevant. Ich plane blos einen kleines Sync-Programm für Notizen zu schreiben und damit das ganze auch in der Schule funktioniert sollte es eben über Port 443 laufen (ICQ und Skype funktionieren so auch :wink: ).
Habe folgenden Aubau:
PC -> Home-Server <- Router <- Proxy der Schule <- Notebook
Der Server läuft also am Home-Server, die Clients auf PC und Notebook, als Betriebssystem kommt auf allen Geräten OpenSUSE 11.2 zum Einsatz.
Ein Rätsel ist mir noch wie ich den Datenverkehr durch den Router bekomme ohne den kompletten SSL Verkehr auf meinen Home-Server umzuleiten. :shock:
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

da hasst du mehere Möglichkeiten ....

Wenn du verschluesselung ned brauchst, solltest die auch ned verwenden.
Prinzipiell, wenn der Proxy / Firewall dir 443 durchleitet, dann geht das auch unverschluesselt.
DU koenntest also deinen Server "Unverschluesselt" auf 443 horchen lassen, und per client deine verbindung aufbauen ueber normales TCP, sollte funktionieren.

Du kannst tunneln ^^ du hasst doch euf deinen client-PC sicher putty oder ne andere ssh mit tunnel faehige software ...

du installierst auf deinem ziel-PC (PC) nen ssh server, und kannst dann jeglichen port von deinem PC per ssh tunnel auf deinen notebook local mappen. Das deine communkation dann verschluesselt wird, ist nurn nebenprodukt.
Ein Rätsel ist mir noch wie ich den Datenverkehr durch den Router bekomme ohne den kompletten SSL Verkehr auf meinen Home-Server umzuleiten.
Das ist dein hauptproblem !!!
Wenn du eine application auf dem Homeserver laufen hasst , die auch auf 443 horchen muss, beispielsweisse nen Apache ... dann hasst du nen problem. Dein router kann definitiv ned entscheiden, welches das richtige ziel fuer die pakete auf der 443 sind, selbst wenn er woellte, er kaem ja ned aufn Inhalt drauf ....
DU musst also definitiv deinen router ip forwarden lassen ... und das geht nunmal nur auf eine interne IP, ned auf mehrere ....

Hasst du scho mal versucht, nen vpn zu bauen ?
Vielleicht iss sogar dein router scho vpn faehig .... und normal muesstest damit auch durch ne firewall(schule) durchkommen ....
Dann koenntest dein Notebook betreiben wie als waerst im lokalen netz (nur bissi langsammer) .. und sogar windowsshares etc verwenden. dadurch wuerde vielleicht deine Synchronisationsserver-Entwicklung überflüssig.

Ciao ...
Antworten