Wissen zu verschlüsselten Mails gefragt
Hallo, ich schreibe gerade ein Perl-Modul, das gpg-verschlüsselte Mails verschickt. Nun kann ich entweder den verschlüsselten Teil direkt nach dem Mail-Header anfügen (Version 1) oder ich schicke sie als multipart/encrypted (Version 2). Was ist besser (bzw. wird von den meisten MUA besser verarbeitet)? Beim Empfang solcher Mails in Kmail habe ich festgestellt, daß er bei Version 1 sofort nach dem Passwort zum entschlüsseln fragt, bei Version 2 muß man erst auf "Decrypt Message" drücken. Insbesondere beschäftigt mich auch die Frage, wie man dem Empfänger richtig mitteilt, welches charset er zum Anzeigen der entschlüsselten Mail benutzen soll. Geht das irgendwie? Gibt es dafür irgendeinen Standard oder RFC? Version 1: ... MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii -----BEGIN PGP MESSAGE----- Version: GnuPG v2.0.9 (GNU/Linux) hQIOA6k8BzhGt+IuEAf9HkCOAAlFfzog7O7WDGvZlFoiLf2Pg7BX2DXcra7cwbUX ... Version 2: ... MIME-Version: 1.0 Content-Type: multipart/encrypted; boundary="nextPart1343652.IYnnkpZkEo"; protocol="application/pgp-encrypted" --nextPart1343652.IYnnkpZkEo Content-Type: application/octet-stream Content-Disposition: inline; filename="msg.asc" -----BEGIN PGP MESSAGE----- Version: GnuPG v2.0.9 (GNU/Linux) hQQOAxoYHqMB16xMEBAAj9nMIq3loCtyE8fqKZ+0zrJEJJY9x4RQgOd3TK1ptw3P ... Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On 16.07.2009, Torsten Foertsch wrote:
Nun kann ich entweder den verschlüsselten Teil direkt nach dem Mail-Header anfügen (Version 1) oder ich schicke sie als multipart/encrypted (Version 2).
Was ist besser (bzw. wird von den meisten MUA besser verarbeitet)?
Der Standard ist PGP/Mime, also Variante 2.
Beim Empfang solcher Mails in Kmail habe ich festgestellt, daß er bei Version 1 sofort nach dem Passwort zum entschlüsseln fragt, bei Version 2 muß man erst auf "Decrypt Message" drücken.
Keine Ahnung, ich kenne kmail nicht.
Insbesondere beschäftigt mich auch die Frage, wie man dem Empfänger richtig mitteilt, welches charset er zum Anzeigen der entschlüsselten Mail benutzen soll. Geht das irgendwie?
GPG wandelt kein charset um, es bleibt wie es vom Ersteller der Mail benutzt wird. Die Anzeige kann mittels --display-charset-name beeinflusst werden (hoffe, dich jetzt nicht missverstanden zu haben).
Gibt es dafür irgendeinen Standard oder RFC?
Ja, den openPGP Standard (RFC 4880), und dazu speziell die RFCs 2045 und 3156. Es wuerde sich fuer dich auch sicherlich lohnen, wenn du dich auf der GPG Users Liste anmelden wuerdest: http://www.gnupg.org/documentation/mailing-lists.en.html -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu 16 Jul 2009, Heinz Diehl wrote:
Insbesondere beschäftigt mich auch die Frage, wie man dem Empfänger richtig mitteilt, welches charset er zum Anzeigen der entschlüsselten Mail benutzen soll. Geht das irgendwie?
GPG wandelt kein charset um, es bleibt wie es vom Ersteller der Mail benutzt wird. Die Anzeige kann mittels --display-charset-name beeinflusst werden (hoffe, dich jetzt nicht missverstanden zu haben).
Bei einer gewöhnlichen, unverschlüsselten Mail kann ich z.B. angeben Content-Type: text/plain; charset=UTF-8. Dann weiß der MUA, daß er die Mail in UTF8 anzeigen soll. Nun steht aber in Version 2 Content-Type: application/octet-stream in dem verschlüsselten Teil. Woher weiß der MUA jetzt, wenn er eine verschlüsselte Mail anzeigen soll, ob im gpg-Output utf8, iso8859-1 oder was auch immer benutzt wird? Zu --display-charset steht in der Manpage von gpg Folgendes: Note that this has nothing to do with the character set of data to be encrypted or signed; GnuPG does not recode user-supplied data. Aber gerade um "user-supplied data" geht es. Kann der Sender einer verschlüsselten Mail dem Empfänger-MUA mitteilen, ob das Zeug nach dem Entschlüsseln UTF8 ist oder nicht? Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu 16 Jul 2009, Torsten Foertsch wrote:
Aber gerade um "user-supplied data" geht es. Kann der Sender einer verschlüsselten Mail dem Empfänger-MUA mitteilen, ob das Zeug nach dem Entschlüsseln UTF8 ist oder nicht?
Ich glaube, ich hab's gefunden: RFC2015 sagt: Before encryption with PGP, the data should be written in MIME canonical format (body and headers). D.h. der verschlüsselte Teil ist selbst nochmal eine MIME Message. Danke an alle, die sich die Köpfe zerbrochen haben, was der da für einen Unsinn will. Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Torsten! On Do, 16 Jul 2009, Torsten Foertsch wrote:
ich schreibe gerade ein Perl-Modul, das gpg-verschlüsselte Mails verschickt.
Schick.
Nun kann ich entweder den verschlüsselten Teil direkt nach dem Mail-Header anfügen (Version 1) oder ich schicke sie als multipart/encrypted (Version 2).
IIRC ist der erste Weg der traditionelle, der aber teilweise Probleme hat. Man kann unter anderem wohl kein Charset definieren (wie Du schon gemerkt hast) oder das Signieren vereinfachen (Inline Signaturen könnten einfach verfälscht werden), oder Attachments verschlüsseln.
Was ist besser (bzw. wird von den meisten MUA besser verarbeitet)?
http://www.bretschneidernet.de/tips/secmua.html PGP/Mime sollten heutzutage alle gepflegten MUAs verstehen, Pine war bisher immer die Ausnahme. Ob sich da was verändert hat mit alpine weiß ich aber nicht.
Beim Empfang solcher Mails in Kmail habe ich festgestellt, daß er bei Version 1 sofort nach dem Passwort zum entschlüsseln fragt, bei Version 2 muß man erst auf "Decrypt Message" drücken.
Insbesondere beschäftigt mich auch die Frage, wie man dem Empfänger richtig mitteilt, welches charset er zum Anzeigen der entschlüsselten Mail benutzen soll. Geht das irgendwie?
Im MIME Container der entschlüsselten Message, IIRC.
Gibt es dafür irgendeinen Standard oder RFC?
RFC2015 bzw. 3156
Version 1:
... MIME-Version: 1.0
[…]
Version 2:
[…] Eine von beiden Versionen hat meinen mutt verschlucken lassen. Er wollte die Mail entschlüsseln und hat mich nach einem Schlüssel gefragt. Nachher konnte ich nichts mehr anzeigen. :set pgp_auto_decrypt=no hat geholfen. Mit freundlichen Grüßen Christian -- The software said it requires Windows 95 or better, so I installed Linux. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On 16.07.2009, Christian Brabandt wrote:
IIRC ist der erste Weg der traditionelle, der aber teilweise Probleme hat. Man kann unter anderem wohl kein Charset definieren (wie Du schon gemerkt hast) oder das Signieren vereinfachen (Inline Signaturen könnten einfach verfälscht werden), oder Attachments verschlüsseln.
Attachments kannst du verschluesseln, musst es aber einzeln und manuell tun, und ohne weiteres Zutun behalten sie ihren Namen, und das ist oft nicht erwuenscht.
PGP/Mime sollten heutzutage alle gepflegten MUAs verstehen, Pine war bisher immer die Ausnahme. Ob sich da was verändert hat mit alpine weiß ich aber nicht.
Dem kann man abhelfen mittels procmail: :0 * !^Content-Type: multipart/encrypted { :0 fBw * ^-----BEGIN PGP MESSAGE----- * ^-----END PGP MESSAGE----- | formail \ -i "Content-Type: application/pgp; format=text; x-action=encrypt" } :0 * !^Content-Type: multipart/ { :0 fBw * ^-----BEGIN PGP SIGNED MESSAGE----- * ^-----BEGIN PGP SIGNATURE----- * ^-----END PGP SIGNATURE----- | formail \ -i "Content-Type: application/pgp; format=text; x-action=sign" } -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Heinz! On Do, 16 Jul 2009, Heinz Diehl wrote:
On 16.07.2009, Christian Brabandt wrote:
IIRC ist der erste Weg der traditionelle, der aber teilweise Probleme hat. Man kann unter anderem wohl kein Charset definieren (wie Du schon gemerkt hast) oder das Signieren vereinfachen (Inline Signaturen könnten einfach verfälscht werden), oder Attachments verschlüsseln.
Attachments kannst du verschluesseln, musst es aber einzeln und manuell tun, und ohne weiteres Zutun behalten sie ihren Namen, und das ist oft nicht erwuenscht.
Schon klar. Das ist halt alles sehr umständlich.
PGP/Mime sollten heutzutage alle gepflegten MUAs verstehen, Pine war bisher immer die Ausnahme. Ob sich da was verändert hat mit alpine weiß ich aber nicht.
Dem kann man abhelfen mittels procmail:
Ja, eine Krücke. Zum Glück bin ich auf Procmail nicht angewiesen und kann Sieve zum Filtern verwenden. Mit freundlichen Grüßen Christian -- The greatest lies of all time: (1) The check is in the mail. (2) We have a really challenging assignment for you. (3) I love you. (4) That bug has been fixed. (5) This won't hurt a bit. (6) The Mercedes is paid for. (7) I have just sent you an e-mail about that. (8) Of course I'll respect you in the morning. (9) I'm from the government, and I'm here to help you. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Torsten, hast Du Dir zur automatischen Verschlüsselung von Mails schon mal das Programm Tiger Envelopes angeschaut? Ich hab das mal ganz am Anfang des Entstehenden Programms getestet und war begeistert. http://www.pcwelt.de/intel_virtualnotebook/sicherheit/grundlagen/170628/auto... http://sourceforge.net/projects/tigerenvelopes/ Gruß Thomas Am Donnerstag, 16. Juli 2009 11:40:16 schrieb Torsten Foertsch:
Hallo,
ich schreibe gerade ein Perl-Modul, das gpg-verschlüsselte Mails verschickt.
Torsten
Hallo, Am Don, 16 Jul 2009, Thomas Schirrmacher schrieb:
hast Du Dir zur automatischen Verschlüsselung von Mails schon mal das Programm Tiger Envelopes angeschaut?
Ein über 51 MB (als Archiv!) Java-Monster für etwas, was 20 Zeilen / 1374 Bytes in der ~/.mutt/gpg.rc auch erledigen? *KOPFSCHÜTTEL* Und auch für andere Mailer wie KMail, Thunderbird/Seamonkey u.a. gibt es _schlanke_ oder schon eingebaute Funktionen/Plugins/Erweiterungen, die das übernehmen. -dnh -- "Powered-up hardware and sweat do not mix." -- Simon Cozens -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 16 Jul 2009, Torsten Foertsch schrieb:
ich schreibe gerade ein Perl-Modul, das gpg-verschlüsselte Mails verschickt.
Suchst du Mail::GPG? http://search.cpan.org/~jred/Mail-GPG-1.0.6/lib/Mail/GPG.pm -dnh, passende sig raussuchend -- Boy, you can find /everything/ on CPAN now. Modules for moving countries? Cool. Probably redrawing borders based on some sort of array of points, I'm guessing. -- C. Rovers -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 16. Juli 2009 11:40:16 schrieb Torsten Foertsch:
ich schreibe gerade ein Perl-Modul, das gpg-verschlüsselte Mails verschickt.
Da würde ich noch einmal drüber nachdenken. Wenn Du etwas in der Hinsicht programmieren willst, dann solltest Du eine Format wählen, dass unabhängig vom Verschlüsselungs- bzw. Signierierungsmechanismus ist. Informationen darüber findest Du im RFC1847. Link: http://www.rfc-editor.org/rfc/rfc1847.txt
Insbesondere beschäftigt mich auch die Frage, wie man dem Empfänger richtig mitteilt, welches charset er zum Anzeigen der entschlüsselten Mail benutzen soll. Geht das irgendwie?
In jedem Fall ist das Lesen folgender RFCs notwendig, bevor Du das Nachrichtenformat einigermassen verstanden haben kannst - vorausgesetzt, du verfügst nicht über eine andere Quelle, die alle Informationen enthält, die du in den RFCs findest: - RFC2822 Nachrichtenformat für reine 7Bit-ASCII-Mails. Hier werden etliche Headerfelder definiert, ausserdem dass E-Mailformat - RFC2045 MIME-Nachrichtenformat für weitere Formate, z.B. weitere Zeichensätze, 8Bit, und Binary-Daten - RFC2046 Format für die Nachrichteninhalte, Text, Bilder, Sound, Video, Audio, Nachrichten, die weite Nachrichten enthalten, Nachrichten, die aus mehren Teilen Bestehen - RFC2047 Verwendung von Nicht-Ascii-Zeichen in manchen Headerfeldern. Wenn Du das alles verstanden hast, dann solltest Du Dich, wie geplant dem obigen RFC1847 zuwenden. :-) Übrigens, den Zeichensatz legt man im charset-Header fest, wenn der Content-Type "text" ist und z.B. der Subtype "plain". Wenn die Nachricht z.B. ein Word-Dokument enthält, also vom Typ "application/..." ist, dann ist der Zeichensatz im Dokument festgelegt, und du kannst Dir die Angabe sparen. Ist es "text/html", dann sollte sich im enthaltenen HTML Markup im Header ein meta-Element vom Typ http-equiv befinden, indem der charset festgelegt ist. Z.B. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> Fehlt die Angabe des charsets, dann ist ISO-8859-1 der Vorgabe- oder Default-Zeichensatz für HTML-Dokumente. Du siehst, die Sache ist umfangreicher als man am Anfang vermuten würde. Gruss, Oliver Block -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Christian Brabandt
-
David Haller
-
Heinz Diehl
-
Oliver Block
-
Thomas Schirrmacher
-
Torsten Foertsch