]> WPIA git - gigi.git/commitdiff
Fix: hide shady regex and mark it as regex clearly.
authorFelix Dörre <felix@dogcraft.de>
Sat, 21 Feb 2015 00:54:49 +0000 (01:54 +0100)
committerFelix Dörre <felix@dogcraft.de>
Sat, 21 Feb 2015 01:27:09 +0000 (02:27 +0100)
src/org/cacert/gigi/crypto/SMIME.java
src/org/cacert/gigi/email/Sendmail.java
src/org/cacert/gigi/util/PEM.java

index 9b6573409892a42a38d23fc46e7cfda727cf3191..f37fbe8a17b428202430fcb27dc5a5bc5acde764 100644 (file)
@@ -8,9 +8,10 @@ import java.security.GeneralSecurityException;
 import java.security.PrivateKey;
 import java.security.Signature;
 import java.security.cert.X509Certificate;
-import java.util.Base64;
 import java.util.Random;
 
+import org.cacert.gigi.util.PEM;
+
 import sun.security.pkcs.ContentInfo;
 import sun.security.pkcs.PKCS7;
 import sun.security.pkcs.SignerInfo;
@@ -71,7 +72,7 @@ public class SMIME {
         ByteArrayOutputStream bOut = new DerOutputStream();
         p7.encodeSignedData(bOut);
 
-        mimeEncode(contents, Base64.getEncoder().encodeToString(bOut.toByteArray()).replaceAll("(.{64})(?=.)", "$1\n"), to);
+        mimeEncode(contents, PEM.formatBase64(bOut.toByteArray()), to);
     }
 
     private static Random r = new Random();
index 486f3c4efeedaf767cb69d2eb699e4d1b46c35a4..285eee6b4bbbf83f17f3b63c56b51c779af90f7b 100644 (file)
@@ -14,6 +14,7 @@ import java.util.Locale;
 import java.util.Properties;
 import java.util.regex.Pattern;
 
+import org.cacert.gigi.util.PEM;
 import org.cacert.gigi.util.ServerConstants;
 
 public class Sendmail extends EmailProvider {
@@ -74,7 +75,7 @@ public class Sendmail extends EmailProvider {
             // out.print(chunk_split(base64_encode(recode("html..utf-8",
             // $message)))."\r\n.\r\n");
             headers.append("\r\n");
-            headers.append(Base64.getEncoder().encodeToString(message.getBytes("UTF-8")).replaceAll("(.{64})(?=.)", "$1\r\n"));
+            headers.append(PEM.formatBase64(message.getBytes("UTF-8")));
             headers.append("\r\n");
 
             try {
index 0616270533ceac10fd0ec63249704842f2fed16f..049822c1b5eabcb306624e86e816101812bce446 100644 (file)
@@ -1,12 +1,15 @@
 package org.cacert.gigi.util;
 
 import java.util.Base64;
+import java.util.regex.Pattern;
 
 public class PEM {
 
+    public static final Pattern LINE = Pattern.compile("(.{64})(?=.)");
+
     public static String encode(String type, byte[] data) {
         return "-----BEGIN " + type + "-----\n" + //
-                Base64.getEncoder().encodeToString(data).replaceAll("(.{64})(?=.)", "$1\n") + //
+                formatBase64(data) + //
                 "\n-----END " + type + "-----";
     }
 
@@ -18,4 +21,8 @@ public class PEM {
         return Base64.getDecoder().decode(data);
 
     }
+
+    public static String formatBase64(byte[] bytes) {
+        return LINE.matcher(Base64.getEncoder().encodeToString(bytes)).replaceAll("$1\n");
+    }
 }