Webmail-Proxy mit Verschlüsselung
Verfasst: Samstag 26. Mai 2012, 13:10
Ich habe da eine Idee..
Und zwar würde ich gerne über einen lokalen Proxy meine Mails verschlüsseln und das web-basiert bei Webmail-Anbietern.
Was ich benötige ist ein man-in-the-middle, der die HTTPS Requests annimmt und sie z.B per cURL weiterleitet.
Ein einfaches Forwarding reicht nicht aus, da der proxy die Verschlüsselung / Entschlüsselung vornehmen muss.
D.h. der proxy muss gegebenenfalls bestimmte Textblöcke modifizieren.
Was ich brauche ist also
- Einen HTTPS Server
- Ein Zertifkat für localhost
- cURL, eventuell PyCurl
- Einen Parser der gekennzeichnete Textblöcke erkennt. Dabei muss man beachten, dass viele Anbieter die Mail-Bodies in JavaScript Code "einpacken". GoogleMail jedoch bietet auch eine vereinfachte HTML-Version an, die wahrscheinlich einfacher zu parsen ist.
- Ein Modul für die Verschlüsselung und Entschlüsselung. Erstmal simpel, symmetrisch.
Fürs Prototyping möchte ich das zunächst in Python realisieren
Ein Problem könnte beim Zertifikat entstehen. Wenn ich richtig liege, gibts keine generischen localhost-Zertifikate, die einfach so vom Browser akzeptiert werden.
D.h. ich bzw. der Endbenutzer muss dieses bei der Installation des Proxy zur Zertifikatliste des Browsers hinzufügen !?
Kommentare / Feedback erwünscht.
Und zwar würde ich gerne über einen lokalen Proxy meine Mails verschlüsseln und das web-basiert bei Webmail-Anbietern.
Was ich benötige ist ein man-in-the-middle, der die HTTPS Requests annimmt und sie z.B per cURL weiterleitet.
Ein einfaches Forwarding reicht nicht aus, da der proxy die Verschlüsselung / Entschlüsselung vornehmen muss.
D.h. der proxy muss gegebenenfalls bestimmte Textblöcke modifizieren.
Was ich brauche ist also
- Einen HTTPS Server
- Ein Zertifkat für localhost
- cURL, eventuell PyCurl
- Einen Parser der gekennzeichnete Textblöcke erkennt. Dabei muss man beachten, dass viele Anbieter die Mail-Bodies in JavaScript Code "einpacken". GoogleMail jedoch bietet auch eine vereinfachte HTML-Version an, die wahrscheinlich einfacher zu parsen ist.
- Ein Modul für die Verschlüsselung und Entschlüsselung. Erstmal simpel, symmetrisch.
Fürs Prototyping möchte ich das zunächst in Python realisieren
Ein Problem könnte beim Zertifikat entstehen. Wenn ich richtig liege, gibts keine generischen localhost-Zertifikate, die einfach so vom Browser akzeptiert werden.
D.h. ich bzw. der Endbenutzer muss dieses bei der Installation des Proxy zur Zertifikatliste des Browsers hinzufügen !?
Kommentare / Feedback erwünscht.