X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fcrypto%2FSMIME.java;h=321a4df63a987af9f53193838af6839e68770b3f;hb=4cb0252dc568fd6c56e986289a2c45e4a8884fb3;hp=f3ac0f766b6f00e9eff6960abdf675f592e0f9ff;hpb=bacf2c8bab3201fb709493d0c9da8374ce50b1d1;p=gigi.git diff --git a/src/org/cacert/gigi/crypto/SMIME.java b/src/org/cacert/gigi/crypto/SMIME.java index f3ac0f76..321a4df6 100644 --- a/src/org/cacert/gigi/crypto/SMIME.java +++ b/src/org/cacert/gigi/crypto/SMIME.java @@ -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; @@ -61,20 +62,20 @@ public class SMIME { // Create PKCS7 Signed data PKCS7 p7 = new PKCS7(new AlgorithmId[] { - new AlgorithmId(AlgorithmId.SHA_oid) + new AlgorithmId(AlgorithmId.SHA_oid) }, cInfo, new java.security.cert.X509Certificate[] { - c + c }, new SignerInfo[] { - sInfo + sInfo }); 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); } - static Random r = new Random(); + private static Random r = new Random(); private static void mimeEncode(String contents, String signature, PrintWriter to) { String boundary = generateBoundary(contents, null);