X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fcrypto%2FSMIME.java;h=de39f5a190793e267e16828f027d9cbcba86e220;hb=a61a2d320cc2bb730528832133a8220cb5b80d68;hp=2ca455c173621ef8ca7e6836e2d960e65ce7078f;hpb=ed391f95fa080212a1bec06afd0e0fd0dbb213bb;p=gigi.git diff --git a/src/org/cacert/gigi/crypto/SMIME.java b/src/org/cacert/gigi/crypto/SMIME.java index 2ca455c1..de39f5a1 100644 --- a/src/org/cacert/gigi/crypto/SMIME.java +++ b/src/org/cacert/gigi/crypto/SMIME.java @@ -45,6 +45,7 @@ public class SMIME { } public static void smime(String contents, PrivateKey pKey, X509Certificate c, PrintWriter to) throws IOException, GeneralSecurityException { + contents = normalizeNewlinesToCRLF(contents); Signature signature = Signature.getInstance("SHA1WithRSA"); signature.initSign(pKey); @@ -75,6 +76,10 @@ public class SMIME { mimeEncode(contents, PEM.formatBase64(bOut.toByteArray()), to); } + private static String normalizeNewlinesToCRLF(String contents) { + return contents.replace("\r\n", "\r").replace("\r", "\n").replace("\n", "\r\n"); + } + private static Random r = new Random(); private static void mimeEncode(String contents, String signature, PrintWriter to) {