From ed391f95fa080212a1bec06afd0e0fd0dbb213bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Fri, 12 Aug 2016 17:41:01 +0200 Subject: [PATCH] fix: force Mails to contain "\r\n" so signed mails work from linux. Change-Id: I993566b45370637dabe08f85d0cbe8cd39d8759a --- src/org/cacert/gigi/crypto/SMIME.java | 30 ++++++++++---------- src/org/cacert/gigi/email/EmailProvider.java | 3 +- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/org/cacert/gigi/crypto/SMIME.java b/src/org/cacert/gigi/crypto/SMIME.java index 321a4df6..2ca455c1 100644 --- a/src/org/cacert/gigi/crypto/SMIME.java +++ b/src/org/cacert/gigi/crypto/SMIME.java @@ -79,21 +79,21 @@ public class SMIME { private static void mimeEncode(String contents, String signature, PrintWriter to) { String boundary = generateBoundary(contents, null); - to.println("MIME-Version: 1.0"); - to.println("Content-Type: multipart/signed; protocol=\"application/x-pkcs7-signature\"; micalg=\"sha1\"; boundary=\"" + boundary + "\""); - to.println(""); - to.println("This is an S/MIME signed message"); - to.println(""); - to.println("--" + boundary); - to.println(contents); - to.println("--" + boundary); - to.println("Content-Type: application/x-pkcs7-signature; name=\"smime.p7s\""); - to.println("Content-Transfer-Encoding: base64"); - to.println("Content-Disposition: attachment; filename=\"smime.p7s\""); - to.println(""); - to.println(signature); - to.println(); - to.println("--" + boundary + "--"); + to.print("MIME-Version: 1.0\r\n"); + to.print("Content-Type: multipart/signed; protocol=\"application/x-pkcs7-signature\"; micalg=\"sha1\"; boundary=\"" + boundary + "\"\r\n"); + to.print("\r\n"); + to.print("This is an S/MIME signed message\r\n"); + to.print("\r\n"); + to.print("--" + boundary + "\r\n"); + to.print(contents + "\r\n"); + to.print("--" + boundary + "\r\n"); + to.print("Content-Type: application/x-pkcs7-signature; name=\"smime.p7s\"\r\n"); + to.print("Content-Transfer-Encoding: base64\r\n"); + to.print("Content-Disposition: attachment; filename=\"smime.p7s\"\r\n"); + to.print("\r\n"); + to.print(signature + "\r\n"); + to.print("\r\n"); + to.print("--" + boundary + "--\r\n"); } private static String generateBoundary(String contents, String contents2) { diff --git a/src/org/cacert/gigi/email/EmailProvider.java b/src/org/cacert/gigi/email/EmailProvider.java index 6834d461..d82725d1 100644 --- a/src/org/cacert/gigi/email/EmailProvider.java +++ b/src/org/cacert/gigi/email/EmailProvider.java @@ -41,8 +41,7 @@ public abstract class EmailProvider { protected final void sendSigned(String contents, PrintWriter output) throws IOException, GeneralSecurityException { if (k == null || c == null) { - output.println("Content-Transfer-Encoding: base64"); - output.println(); + output.print("Content-Transfer-Encoding: base64\r\n\r\n"); output.print(contents); } else { SMIME.smime(contents, k, c, output); -- 2.39.2