You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/01/30 10:28:01 UTC

[1/4] james-project git commit: MAILET-144 The matching of the recipient/certificate should be done by using a bouncycastle certificate holder

Repository: james-project
Updated Branches:
  refs/heads/master d747e7d24 -> 76cabea09


MAILET-144 The matching of the recipient/certificate should be done by using a bouncycastle certificate holder


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/46afd92f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/46afd92f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/46afd92f

Branch: refs/heads/master
Commit: 46afd92fef4ecf940203241d4ab0c261c803d905
Parents: d747e7d
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jan 4 13:30:38 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Jan 30 10:33:08 2017 +0100

----------------------------------------------------------------------
 .../james/transport/mailets/SMIMEDecrypt.java   |  17 ++-
 .../mailets/TemporaryFilesystemModule.java      |   3 +-
 .../crypto/SMIMEDecryptIntegrationTest.java     | 136 +++++++++++++++++++
 .../james/mailets/utils/SMTPMessageSender.java  |  11 ++
 .../src/test/resources/eml/bad_crypted.eml      |  36 +++++
 .../src/test/resources/eml/crypted.eml          |  29 ++++
 .../src/test/resources/smime.p12                | Bin 0 -> 4141 bytes
 7 files changed, 229 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
----------------------------------------------------------------------
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
index 6c08dff..47422ab 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
@@ -23,6 +23,7 @@ package org.apache.james.transport.mailets;
 
 import java.io.IOException;
 import java.security.GeneralSecurityException;
+import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -36,6 +37,7 @@ import org.apache.james.transport.SMIMEKeyHolder;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.base.GenericMailet;
+import org.bouncycastle.cert.X509CertificateHolder;
 import org.bouncycastle.cms.CMSException;
 import org.bouncycastle.cms.RecipientId;
 import org.bouncycastle.cms.RecipientInformation;
@@ -72,6 +74,7 @@ import org.bouncycastle.mail.smime.SMIMEUtil;
 public class SMIMEDecrypt extends GenericMailet {
 
     private SMIMEKeyHolder keyHolder;
+    private X509CertificateHolder certificateHolder;
     protected String mailAttribute = "org.apache.james.SMIMEDecrypt";
     
     public void init() throws MessagingException {
@@ -100,7 +103,17 @@ public class SMIMEDecrypt extends GenericMailet {
             throw new MessagingException("Error loading keystore", e);
         }
 
-        
+        certificateHolder = from(keyHolder.getCertificate());
+    }
+
+    private X509CertificateHolder from(X509Certificate certificate) throws MessagingException {
+        try {
+            return new X509CertificateHolder(certificate.getEncoded());
+        } catch (CertificateEncodingException e) {
+            throw new MessagingException("Error during the parsing of the certificate",e);
+        } catch (IOException e) {
+            throw new MessagingException("Error during the parsing of the certificate",e);
+        }
     }
     
     /**
@@ -118,7 +131,7 @@ public class SMIMEDecrypt extends GenericMailet {
                 Collection<RecipientInformation> recipients = informationStore.getRecipients();
                 for (RecipientInformation info : recipients) {
                     RecipientId id = info.getRID();
-                    if (id.match(keyHolder.getCertificate())) {
+                    if (id.match(certificateHolder)) {
                         try {
                             JceKeyTransEnvelopedRecipient recipient = new JceKeyTransEnvelopedRecipient(keyHolder.getPrivateKey());
                             // strippedMessage contains the decrypted message.

http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
index e0faf0b..7e6786d 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
@@ -54,7 +54,8 @@ public class TemporaryFilesystemModule extends AbstractModule {
             "recipientrewritetable.xml",
             "smtpserver.xml",
             "usersrepository.xml",
-            "smime_1.p12");
+            "smime_1.p12",
+            "smime.p12");
 
     private final Supplier<File> workingDirectory;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
new file mode 100644
index 0000000..e2696e4
--- /dev/null
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
@@ -0,0 +1,136 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailets.crypto;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.james.mailbox.model.MailboxConstants;
+import org.apache.james.mailets.TemporaryJamesServer;
+import org.apache.james.mailets.configuration.CommonProcessors;
+import org.apache.james.mailets.configuration.MailetConfiguration;
+import org.apache.james.mailets.configuration.MailetContainer;
+import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.mailets.utils.IMAPMessageReader;
+import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+import com.jayway.awaitility.Awaitility;
+import com.jayway.awaitility.Duration;
+import com.jayway.awaitility.core.ConditionFactory;
+
+public class SMIMEDecryptIntegrationTest {
+
+
+    private static final String LOCALHOST_IP = "127.0.0.1";
+    private static final int IMAP_PORT = 1143;
+    private static final int SMTP_SECURE_PORT = 10465;
+
+    private static final String DEFAULT_DOMAIN = "localdomain";
+    private static final String FROM = "sender@" + DEFAULT_DOMAIN;
+    private static final String PASSWORD = "secret";
+
+    @Rule
+    public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+    private TemporaryJamesServer jamesServer;
+    private ConditionFactory calmlyAwait;
+
+    @Before
+    public void setup() throws Exception {
+        MailetContainer mailetContainer = MailetContainer.builder()
+            .postmaster("postmaster@" + DEFAULT_DOMAIN)
+            .threads(5)
+            .addProcessor(CommonProcessors.root())
+            .addProcessor(CommonProcessors.error())
+            .addProcessor(ProcessorConfiguration.builder()
+                .state("transport")
+                .enableJmx(true)
+                .addMailet(MailetConfiguration.builder()
+                    .match("All")
+                    .clazz("RemoveMimeHeader")
+                    .addProperty("name", "bcc")
+                    .build())
+                .addMailet(MailetConfiguration.builder()
+                    .match("RecipientIsLocal")
+                    .clazz("org.apache.james.jmap.mailet.VacationMailet")
+                    .build())
+                .addMailet(MailetConfiguration.builder()
+                    .clazz("SMIMEDecrypt")
+                    .match("All")
+                    .addProperty("keyStoreFileName", temporaryFolder.getRoot().getAbsoluteFile().getAbsolutePath() + "/conf/smime.p12")
+                    .addProperty("keyStorePassword", "secret")
+                    .addProperty("keyStoreType", "PKCS12")
+                    .addProperty("debug", "true")
+                    .build())
+                .addMailet(MailetConfiguration.builder()
+                    .match("RecipientIsLocal")
+                    .clazz("LocalDelivery")
+                    .build())
+                .build())
+            .build();
+
+        jamesServer = new TemporaryJamesServer(temporaryFolder, mailetContainer);
+        Duration slowPacedPollInterval = Duration.FIVE_HUNDRED_MILLISECONDS;
+        calmlyAwait = Awaitility.with().pollInterval(slowPacedPollInterval).and().with().pollDelay(slowPacedPollInterval).await();
+
+        jamesServer.getServerProbe().addDomain(DEFAULT_DOMAIN);
+        jamesServer.getServerProbe().addUser(FROM, PASSWORD);
+        jamesServer.getServerProbe().createMailbox(MailboxConstants.USER_NAMESPACE, FROM, "INBOX");
+    }
+
+    @After
+    public void tearDown() {
+        jamesServer.shutdown();
+    }
+
+    @Test
+    public void cryptedMessageShouldBeDecryptedWhenCertificateMatches() throws Exception {
+
+        try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD);
+             IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) {
+            messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/crypted.eml"))); 
+            calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent);
+            calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(FROM, PASSWORD));
+
+            assertThat(imapMessageReader.readFirstMessageInInbox(FROM, PASSWORD))
+                .containsSequence("Crypted content");
+        }
+    }
+
+    @Test
+    public void cryptedMessageShouldNotBeDecryptedWhenCertificateDoesntMatch() throws Exception {
+
+        try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD);
+             IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) {
+            messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/bad_crypted.eml"))); 
+            calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent);
+            calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(FROM, PASSWORD));
+
+            assertThat(imapMessageReader.readFirstMessageInInbox(FROM, PASSWORD))
+                .containsSequence("MIAGCSqGSIb3DQEHA6CAMIACAQAxggKpMIICpQIBADCBjDCBhjELMAkGA1UE");
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
index 5ee5931..a2475eb 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
@@ -76,6 +76,17 @@ public class SMTPMessageSender implements Closeable {
         }
     }
 
+    public void sendMessageWithHeaders(String from, String recipient, String message) {
+        try {
+            smtpClient.helo(senderDomain);
+            smtpClient.setSender(from);
+            smtpClient.rcpt("<" + recipient + ">");
+            smtpClient.sendShortMessageData(message);
+        } catch (IOException e) {
+            throw Throwables.propagate(e);
+        }
+    }
+
     public void sendMessage(Mail mail) throws MessagingException {
         try {
             String from = mail.getSender().asString();

http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/server/mailet/integration-testing/src/test/resources/eml/bad_crypted.eml
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/resources/eml/bad_crypted.eml b/server/mailet/integration-testing/src/test/resources/eml/bad_crypted.eml
new file mode 100644
index 0000000..571e0d4
--- /dev/null
+++ b/server/mailet/integration-testing/src/test/resources/eml/bad_crypted.eml
@@ -0,0 +1,36 @@
+Return-Path: <ba...@localdomain>
+MIME-Version: 1.0
+Delivered-To: bad@localdomain
+Received: from 172.17.0.1 (EHLO [127.0.0.1]) ([172.17.0.1])
+          by HOSTNAME (JAMES SMTP Server ) with ESMTP ID 1133072046
+          for <ba...@localdomain>;
+          Wed, 04 Jan 2017 11:00:49 +0000 (UTC)
+To: bad@localdomain
+From: bad <ba...@localdomain>
+Subject: test
+Message-ID: <6a...@localdomain>
+Date: Wed, 4 Jan 2017 12:00:49 +0100
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
+ Thunderbird/45.5.1
+Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7m"
+Content-Description: =?UTF-8?Q?Message_chiffr=c3=a9_S/MIME?=
+
+MIAGCSqGSIb3DQEHA6CAMIACAQAxggKpMIICpQIBADCBjDCBhjELMAkGA1UEBhMCRlIxDzAN
+BgNVBAgMBkZyYW5jZTENMAsGA1UEBwwETHlvbjERMA8GA1UECgwITGluYWdvcmExDjAMBgNV
+BAsMBUphbWVzMRQwEgYDVQQDDAtsb2NhbGRvbWFpbjEeMBwGCSqGSIb3DQEJARYPYmFkQGxv
+Y2FsZG9tYWluAgEBMA0GCSqGSIb3DQEBAQUABIICAI1UxuCdpInNJ0BRSWReJNkt1N+hX+dr
+JrRlFRT2BnLcpzumGtVr9uEYC6JIkgAg3NVMqI7E9LQG260NSoQfKgDkBli/x9S5DJMtvqCz
+wlOj3uyMKXK1rRKvLlVm3wJJHsO2n2oMRsDkf8cStshGBYsvMObxENt5n6X7HGsa9oF8KpwD
+WPwdjN6OvFIkfRW+v5y6SLrjH4sZUm2kSIAdDgrZym3ELgUrtus0LMklMzpRiUAuqgRKXoga
+DmX/7TrbdZrZPjQi7Pe4jc1A2i8m9xQFcctgcn2IbCxAV9o8wHkmMAOh70SOijMI+kNeyh6r
+PiLcRH18EWhv/kdWcRX41wEGhV9RFQObH1CyOBoy5LJIkfITggo4qz4Pa1Z25LM5ma3ajHu8
+6u2TImH/Dx2szQm3FiQ3+zA3WlRQjnN+TbOPvfx0wl+Ve7jDHC0wkW0L5w3c3esUsH1ftk2b
+S8hG1RLK3gBSOF0nKPcG0nK7AF0d2sd7FA71ao4PR4de7LE2tABNVDuMWVggwCYL4pfh77VM
+kKH7vhA1YWwn7oAo/3ZWoPOWUSJaHJYbb65APjRQ+yVl3ucwl/ok6vrU+YoQZATIcu+kU56e
+ZsaJiFyEmv7j9K3sEtjvwkoAYwf5sQmIbtZo+Dux6IisTFNWDQhGSmjfImuoYQ8kLckj2Wx1
+wyv+MIAGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIlSYUQVkU/yqggAR44PWcNvdwIMSxYl/t
+ZtCd6BGwHPDRGOKAzsYcRuIWwA2wHQljjqTDiORW7uqVDyiEMDPd2nVXtAbjkZN4sujVbh5q
+TNbDUOihMiUn+gXcYq4Go6UD4djqx6K7YT6LIHONtP6zgygeS+EfM/9CaJd/7Z/bfuY4Jcko
+BAhb/n3N2DrjfgAAAAAAAAAAAAA=

http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/server/mailet/integration-testing/src/test/resources/eml/crypted.eml
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/resources/eml/crypted.eml b/server/mailet/integration-testing/src/test/resources/eml/crypted.eml
new file mode 100644
index 0000000..5b70104
--- /dev/null
+++ b/server/mailet/integration-testing/src/test/resources/eml/crypted.eml
@@ -0,0 +1,29 @@
+To: sender@localdomain
+From: sender <se...@localdomain>
+Subject: test
+Message-ID: <7f...@localdomain>
+Date: Tue, 3 Jan 2017 16:30:03 +0100
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
+ Thunderbird/45.5.1
+MIME-Version: 1.0
+Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7m"
+Content-Description: =?UTF-8?Q?Message_chiffr=c3=a9_S/MIME?=
+
+MIAGCSqGSIb3DQEHA6CAMIACAQAxggKHMIICgwIBADBrMGYxCzAJBgNVBAYTAkZSMQ8wDQYD
+VQQIDAZGcmFuY2UxDTALBgNVBAcMBEx5b24xETAPBgNVBAoMCExpbmFnb3JhMQ4wDAYDVQQL
+DAVKYW1lczEUMBIGA1UEAwwLbG9jYWxkb21haW4CAQEwDQYJKoZIhvcNAQEBBQAEggIAjNnW
+2EhtDcfG/naGChQPZ2EOiPo5BRabR3dXvLcOPImX97mV51B4sggqpYdUrirD/beRkpbr814i
+0LCFbNh3Xm6ojhZGiBHscStNysNjun7MOtUHXs5eDVOthsPVes/YjkHklxtJKH9J7QYwJY/m
+L9MgQES2HkALhfqiQDN9UDtn7AE89m70FZfkxJQZSD1NByF7dxiFvhZbd8CFmcV1C0vZRlH9
+opZcVg9AkbDytKO+U4FF9/uGmiIQ99Qng0YqcG7abZqwouJ59yxmKTwrggk1+MyJ0NqB1wVP
+w2t1C/8hmvMISiij2bidoTTIYCybwvbuM/35POmDJVsvakLMZLG7aHSKvA+Bj+iR/RBgHHvd
+c7UdDMvkH0O8tYDsuAW8uh0H8LkvJ/ZWbOsev8DuAVYTm85Zd8d7islgDqfYmjvPeTHqSSgA
+sIFdPikRxtetU3JJKRls2BrKV6gM06++/Su+IFvTMaQYRbiQOeGc0ZfGHtlz3BSAeK32tjZu
+OrVrxR+BLP4huBqctvcfgjiqtRB5i06wX4q5v/5UNMq9BAtQEDEhERAoXSOWSu3wvocBWtlX
+xY5xw34KoFvsztHewakENjgfBG3ysH031UoOIZD0OvHyQ7BGUiu+lM22rj4Pnp6M2W+V1Jjm
+OHmV9siU2YsUBE78Lu+hiOcrbydgptswgAYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAiTtikP
+UrH82KCABHhPrx30MofZ4L1e9dmHrvHo32h93dFJpTLqG0E3T8y8Y5fySEu7x3jWtZNIXERs
+/SJYDeww9tOi4tjV2z+3OCXMQjy7P9Pzb+sekX9GuVo640q7Z/2F6C1hShqyLVa7eJFZK8Na
+1JasVj9lst+HD+A0SBA63Z+90bsECIXa4/tJqoBPAAAAAAAAAAAAAA==

http://git-wip-us.apache.org/repos/asf/james-project/blob/46afd92f/server/mailet/integration-testing/src/test/resources/smime.p12
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/resources/smime.p12 b/server/mailet/integration-testing/src/test/resources/smime.p12
new file mode 100644
index 0000000..9b066d3
Binary files /dev/null and b/server/mailet/integration-testing/src/test/resources/smime.p12 differ


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[4/4] james-project git commit: MAILET-144 Fix decrypting messages with attachments

Posted by ad...@apache.org.
MAILET-144 Fix decrypting messages with attachments


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/76cabea0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/76cabea0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/76cabea0

Branch: refs/heads/master
Commit: 76cabea09fe9600a6a921817436160bf44d45c25
Parents: 5cff53c
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jan 10 15:33:34 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Jan 30 10:33:27 2017 +0100

----------------------------------------------------------------------
 mailet/crypto/pom.xml                           |  4 +++
 .../james/transport/mailets/SMIMEDecrypt.java   | 30 +++++++++++---------
 mailet/pom.xml                                  |  6 ++++
 .../crypto/SMIMEDecryptIntegrationTest.java     | 15 ++++++----
 4 files changed, 36 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/76cabea0/mailet/crypto/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/crypto/pom.xml b/mailet/crypto/pom.xml
index 07ccb08..b9d9824 100644
--- a/mailet/crypto/pom.xml
+++ b/mailet/crypto/pom.xml
@@ -52,6 +52,10 @@
             <artifactId>bcmail-jdk15on</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.james</groupId>
             <artifactId>apache-mailet-base</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/76cabea0/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
----------------------------------------------------------------------
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
index 47422ab..215ce34 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
@@ -29,10 +29,10 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import javax.mail.MessagingException;
-import javax.mail.Multipart;
 import javax.mail.Part;
 import javax.mail.internet.MimeMessage;
 
+import org.apache.commons.io.IOUtils;
 import org.apache.james.transport.SMIMEKeyHolder;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetConfig;
@@ -46,6 +46,8 @@ import org.bouncycastle.cms.jcajce.JceKeyTransEnvelopedRecipient;
 import org.bouncycastle.mail.smime.SMIMEEnveloped;
 import org.bouncycastle.mail.smime.SMIMEUtil;
 
+import com.google.common.base.Charsets;
+
 /**
  * This mailet decrypts a s/mime encrypted message. It takes as input an
  * encrypted message and it tries to dechiper it using the key specified in its
@@ -110,9 +112,9 @@ public class SMIMEDecrypt extends GenericMailet {
         try {
             return new X509CertificateHolder(certificate.getEncoded());
         } catch (CertificateEncodingException e) {
-            throw new MessagingException("Error during the parsing of the certificate",e);
+            throw new MessagingException("Error during the parsing of the certificate", e);
         } catch (IOException e) {
-            throw new MessagingException("Error during the parsing of the certificate",e);
+            throw new MessagingException("Error during the parsing of the certificate", e);
         }
     }
     
@@ -145,7 +147,7 @@ public class SMIMEDecrypt extends GenericMailet {
                     }
                 }
             } catch (CMSException e) {
-                throw new MessagingException("Error during the decryption of the message",e);
+                throw new MessagingException("Error during the decryption of the message", e);
             }
         }
 
@@ -162,21 +164,21 @@ public class SMIMEDecrypt extends GenericMailet {
 
             // I start the message stripping.
             try {
-                MimeMessage newmex = new MimeMessage(message);
-                Object obj = strippedMessage.getContent();
-                if (obj instanceof Multipart) {
-                    log("The message is multipart, content type "+((Multipart)obj).getContentType());
-                    newmex.setContent((Multipart)obj);
-                } else {
-                    newmex.setContent(obj, strippedMessage.getContentType());
-                    newmex.setDisposition(null);
+                MimeMessage newMessage = new MimeMessage(message);
+                newMessage.setText(text(strippedMessage), Charsets.UTF_8.name());
+                if (!strippedMessage.isMimeType("multipart/*")) {
+                    newMessage.setDisposition(null);
                 }
-                newmex.saveChanges();
-                mail.setMessage(newmex);
+                newMessage.saveChanges();
+                mail.setMessage(newMessage);
             } catch (IOException e) { 
                 log("Error during the strip of the encrypted message");
                 throw new MessagingException("Error during the stripping of the encrypted message",e);
             }
         }
     }
+
+    private String text(Part mimePart) throws IOException, MessagingException {
+        return IOUtils.toString(mimePart.getDataHandler().getInputStream());
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/76cabea0/mailet/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/pom.xml b/mailet/pom.xml
index 23b39cf..d676af7 100644
--- a/mailet/pom.xml
+++ b/mailet/pom.xml
@@ -64,6 +64,7 @@
         <guavate.version>1.0.0</guavate.version>
         <ical4j.version>1.0.2</ical4j.version>
         <guavate.version>1.0.0</guavate.version>
+        <apache-commons-io.version>1.3.2</apache-commons-io.version>
     </properties>
 
 
@@ -126,6 +127,11 @@
                 <version>1.52</version>
             </dependency>
             <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${apache-commons-io.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.maven.artifact</groupId>
                 <artifactId>maven-artifact</artifactId>
                 <version>${maven-artifact.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/76cabea0/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
index f4fa500..2732c0e 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
@@ -21,6 +21,8 @@ package org.apache.james.mailets.crypto;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import java.time.ZonedDateTime;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailets.TemporaryJamesServer;
@@ -30,6 +32,7 @@ import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
 import org.apache.james.mailets.utils.IMAPMessageReader;
 import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.util.date.ZonedDateTimeProvider;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
@@ -43,6 +46,7 @@ import com.jayway.awaitility.core.ConditionFactory;
 public class SMIMEDecryptIntegrationTest {
 
 
+    private static final ZonedDateTime DATE_2015 = ZonedDateTime.parse("2015-10-15T14:10:00Z");
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int IMAP_PORT = 1143;
     private static final int SMTP_SECURE_PORT = 10465;
@@ -73,10 +77,6 @@ public class SMIMEDecryptIntegrationTest {
                     .addProperty("name", "bcc")
                     .build())
                 .addMailet(MailetConfiguration.builder()
-                    .match("RecipientIsLocal")
-                    .clazz("org.apache.james.jmap.mailet.VacationMailet")
-                    .build())
-                .addMailet(MailetConfiguration.builder()
                     .clazz("SMIMEDecrypt")
                     .match("All")
                     .addProperty("keyStoreFileName", temporaryFolder.getRoot().getAbsoluteFile().getAbsolutePath() + "/conf/smime.p12")
@@ -86,12 +86,17 @@ public class SMIMEDecryptIntegrationTest {
                     .build())
                 .addMailet(MailetConfiguration.builder()
                     .match("RecipientIsLocal")
+                    .clazz("org.apache.james.jmap.mailet.VacationMailet")
+                    .build())
+                .addMailet(MailetConfiguration.builder()
+                    .match("RecipientIsLocal")
                     .clazz("LocalDelivery")
                     .build())
                 .build())
             .build();
 
-        jamesServer = new TemporaryJamesServer(temporaryFolder, mailetContainer);
+        jamesServer = new TemporaryJamesServer(temporaryFolder, mailetContainer,
+                binder -> binder.bind(ZonedDateTimeProvider.class).toInstance(() -> DATE_2015));
         Duration slowPacedPollInterval = Duration.FIVE_HUNDRED_MILLISECONDS;
         calmlyAwait = Awaitility.with().pollInterval(slowPacedPollInterval).and().with().pollDelay(slowPacedPollInterval).await();
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[3/4] james-project git commit: MAILET-144 Add SMIMEDecrypt mailet integration test on mail with attachment

Posted by ad...@apache.org.
MAILET-144 Add SMIMEDecrypt mailet integration test on mail with attachment


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5cff53c4
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5cff53c4
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5cff53c4

Branch: refs/heads/master
Commit: 5cff53c4f280c8b2135e04a825184656d0dab77f
Parents: bc0d0a3
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jan 10 15:25:39 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Jan 30 10:33:26 2017 +0100

----------------------------------------------------------------------
 .../crypto/SMIMEDecryptIntegrationTest.java     |  14 ++
 .../resources/eml/crypted_with_attachment.eml   | 191 +++++++++++++++++++
 2 files changed, 205 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/5cff53c4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
index e2696e4..f4fa500 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
@@ -120,6 +120,20 @@ public class SMIMEDecryptIntegrationTest {
     }
 
     @Test
+    public void cryptedMessageWithAttachmentShouldBeDecryptedWhenCertificateMatches() throws Exception {
+
+        try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD);
+             IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) {
+            messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/crypted_with_attachment.eml"))); 
+            calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent);
+            calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(FROM, PASSWORD));
+
+            assertThat(imapMessageReader.readFirstMessageInInbox(FROM, PASSWORD))
+                .containsSequence("Crypted Content with attachment");
+        }
+    }
+
+    @Test
     public void cryptedMessageShouldNotBeDecryptedWhenCertificateDoesntMatch() throws Exception {
 
         try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD);

http://git-wip-us.apache.org/repos/asf/james-project/blob/5cff53c4/server/mailet/integration-testing/src/test/resources/eml/crypted_with_attachment.eml
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/resources/eml/crypted_with_attachment.eml b/server/mailet/integration-testing/src/test/resources/eml/crypted_with_attachment.eml
new file mode 100644
index 0000000..64105d5
--- /dev/null
+++ b/server/mailet/integration-testing/src/test/resources/eml/crypted_with_attachment.eml
@@ -0,0 +1,191 @@
+Return-Path: <se...@localdomain>
+MIME-Version: 1.0
+Delivered-To: sender@localdomain
+Received: from 172.17.0.1 (EHLO [127.0.0.1]) ([172.17.0.1])
+          by localdomain (JAMES SMTP Server ) with ESMTP ID 1899632362
+          for <se...@localdomain>;
+          Thu, 05 Jan 2017 14:37:00 +0000 (UTC)
+To: sender@localdomain
+From: sender <se...@localdomain>
+Subject: with attachment
+Message-ID: <6e...@localdomain>
+Date: Thu, 5 Jan 2017 15:37:00 +0100
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
+ Thunderbird/45.5.1
+Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7m"
+Content-Description: =?UTF-8?Q?Message_chiffr=c3=a9_S/MIME?=
+
+MIAGCSqGSIb3DQEHA6CAMIACAQAxggKHMIICgwIBADBrMGYxCzAJBgNVBAYTAkZSMQ8wDQYD
+VQQIDAZGcmFuY2UxDTALBgNVBAcMBEx5b24xETAPBgNVBAoMCExpbmFnb3JhMQ4wDAYDVQQL
+DAVKYW1lczEUMBIGA1UEAwwLbG9jYWxkb21haW4CAQEwDQYJKoZIhvcNAQEBBQAEggIAtA5t
+92TBG5Jsqz7C2JNHtV06CwT21xkrjr8muwFBgOAIzIgivVN8Ok5flU8DmqKKv7XOgAnDp9+j
+UcS5fFaW1gGpppArIxOmlQdYZYOg+NRUanGbwSHBdL4kAe++oEcD4MI36JIeHj9JZ60dUI5e
+8NRcH5r1Nedg43YxC/L/WT2bl1Y0DchXgLs97lfGaC6K3RiSfepN5ZWmE7D1RkjJMeTqx7EY
+67apiBp4/JvLhr8+SURtaFmfuW2SXGaRgnANlGzHVwaJvr2IOBxBjxruCbNnw2ifWcwep1rt
+6gFxN+9PVaMETu2ra5vf26wr+V739b/yladIFkwQEtKo3teJLI/0OeUHec8Rpz1CA/Eo1unL
+mqij4G/u0BoJVSiwJM7ObU/CpJvK4SZ7WKuo9Oz4R9emeDOs2c48ueETwZ+htiN1ibEJ/Joz
+tehYMiFOCXdmXEcrJKbz1ZzhfMoZvHx3iSs9s4dQD60U1n/nAbxhq36am1xu+Q1vCnQux3p9
+zVGflhGopgYsdF/ewObkZBDiJg9wqP/e2newOXR+N2zUCOUQtRjEyOVrhX6hmj7yWh3npsvb
+wbVL3fpaEv0sV5NYVUB6y8SbEC0IjyvYU5HxWBEtRelzNyD0q+UiA9M5InU5p0ODwsz0tCv2
+zDgsCBqz58s+Jsn2x3o4e38NZ6DUKTkwgAYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAgY++oJ
++tJ9G6CABIIgAI1YI3XeCBqt55XEr8WnaxLB3aTNuAA/S7N78YNEQxT+iglY7GRNRMhF3Hab
+Dz12LPycAMlx9dpm69gmnWOUS9/6Td/f+ci9Jw/oJyyBfLmmVhVh5jxusW4h9H01KhZJTYBd
+NlqxFtxxdpQ0BunRZO9zBVxui2hxEuKNIF2jH5tIkIctba5fxl83Ot3zJLir+3lXZI8mU/DO
+aUqJTrKWEb9suL7Cx8uxCmgWgZDyXRdWyY5SWvHerXu+SCxkorPr/ZF2HnR7BVlooJPAjjpI
+GfIBSuB+1p8K0bWtn5v7GCILQYORf9tqEuHxR/f9ywQRK6imQiG5/XUNQyHw3aEed86S+TEM
+Za+3uixhuBMIMFVKqihaJLKztbcktrhHN1tqSNV9b4orWwGmzQ/LqdVcI6792uPdDZIf+cIb
+5oa6FulJd9y03z0++dtuJ8yOXU2o43nel0kw6CSPiyhopHoGeKGTHNJ2BqvCvI7jRA83Dlxg
+/KlCqpWMcU5RL/I5fOjOSHbeU9Ze0p/ozX2ajGR7adNCKHyiBI+D3c4DPGE2zJqi4bIpalJp
+AwFWuKnVozbq3TCK2X8OjxZ9AsvhN1dEKbahpCGCg6v4rS0DnRaRMKu7xgzwP1RtOXy8w2nY
+5GDVTwbychGrRY2cVLfXwFqYvXmLrSloIxKO1VJf+KM4wl4CirZB9CB71bSJ1E6Mf+5fNB8x
+8YtqJzO+7dtS5T99vHY1n7Q/bOSJvCtrSSy8TC97xJxsJDvtpAlYp2dGRjIPuA/Hfiu8Sa8t
+OoGWQpUR1YqNB+AnnxaNTz0DasZDROneGndEZY/SzFfCqkUXmkoJQf3FVk8pkcvHTJRbhzqH
+bC+reJX1QSpLkT9uLPycb2IcglOdjRkAU2JrIxqqinAVbJ3caTVdZ7+YTb1AxjunFUF5TSrW
+y4rhstNBGeoF04x77c1phoAz3QzSXSDW5tTdxlAh807D62iepeLsJMMMBjSjQJ9yCYGfkYyl
+1V0u4Ra4aUK9XIjr1OVLw9gg0g9gKZ5KMdI8IQ4BNA7O38xC82cLPvj3OQWSj3+Sf54KTvam
+76Iy8LWw0whD/4l13LucUfexOIBY8/tpr7zJpRqwWnpPyWilrQQ22xPtk962B7ugITR6KU/K
+oH3NhE67hsW2z9c/2cHt/SD+NiHBN4wvNRUAo0ADJ3wxUEMkEHVPU39Fusi7qw+siD0u7Ys6
+4RvdS+wxrbeJN/1ihU2LvwisLbgSlCkVq5J0uSqEqsBAOvw8f9OlNR5BjvbUtv8/eqNr70IA
+vXGDs8d6ld0JQw5vzSVQ0Q9ivhy6HSTdeJ4N+6FgjTfTtYi8n/FU6o8ein6RWKsjEKw+Bb4U
+7Ep6HDgKUUR/xZhOHX38bn4sEH7sjzu15np3Usf3QHR2jzUTqEQ5WSVQJDXZGuZvViv+QFtp
+41dFb6uUyiXoBSAS2mj/K0RlSTw659CnTP6GxhCVs3jxbtOHW0lW2p7iKECCA5dVB8QF/6ml
+/L1VXtk2WD5QhUt5hVQ3+lawybPyz/I+rUjefa3cMTV5aFo34a0pk3mbNrwq3l5jAdBJPEhZ
+AkrT3oJdWpCc3N3d3oqcOaaoKG3fbyygSGfuUdQptYC4RLD1/5gBknX2IkwYeU8akhRtedzV
+8/DrFIuApvfwhI8KzIxOhItgzcJhutr9r/Mn1mi19OJFAsO8CcWO2rPnXeeld4UqtuDTyyr2
+D5rXAB/SWQ/WLf5X5lBFtz+fUDpy8r5AORGjN7yekKP1YntopwEwMVULTwgJJEfdXBM24A22
+ZUDlFpA07HHYT4y21QBikXzGgG4H0YZRfgFKTu/TMN8oaqjoAtt1LWwoD5l7ZcOLnwihMA8s
+j0+0UeavCVD+tFuPg93XQbvLd8M/gaRJ5McpIRBydcLucDptEtdll8JKFc5M67/vwf6c7uah
+EryUWnP6sv4mBSOsG44s1QYXQHgXniFsdkPahhsds7y4nEN386h+dt+rbXrgo90TSJDzOtno
+lSjj0trgRd+hwpRMFbCe94pKV041+0Hty8mpE+y5x23kqfVkDNK8iBEoZJ689CxRVIqn431R
+8+9JXCggOdW8+9Okgb0ilOM7qsk/UmMu3e9sSQEh5Lw3l5oCfl+f5k3+ZmwjoUDXLfGFoYZy
+wvaDYk2VMb2WGygyQjYzD7MKjbrcx7YQDgdXvr/9dq5d2kc9cvJ+50H8q5e7j79Ul33uI5qy
+Y1+7yOu9fS27jm6+tiWJW+VmCNHFAZsgFJwA/Cych6k4SykLQfpZcjGleiFYtrE+QqjF3M01
+fSADWDVwWZnxLI0z6HepdnBINT2OSJk6/gbvEBVbTxUfMYUus/Ib781k1OlrSW7PTgpG35Tk
+7Q1pUEBUWiB9iDU+AiO6UqqIV/0lGPsQjv/EsDMbBVektvmZk2S39BK82wtguNX0u8Ytrfjz
+Ce+nKgli2yWy8D8R/6Q9ZKisAKbN5cphcazHdjOOgr3W4NUGMs5hBhtE10ZAOu/S/Z2/BzQ8
+uSn2ynCGN31OgaAaAxKduimEP7D6sqJ4DdRZW4TF2W1TZdBnso3MnPE66Rglr5U+FO3HfdBP
+G/C3jy7UzxFpedJuiJA6kkO1l8jD7OYcIfXD4Z1fHBmjIR46Up2K8IGxlw3/tpC7nLgjefiT
+lXeDOHyQTF2uSKnp7odniSX9Jx9jwn6k00M3dnzsIQ8tacytepcMjezJ+3SE2Vkr+d4OFjtV
+PtWMxMT9SSNmdf4sjdir/vUm6SQQWwZs1qzWkXExqLzD3dqM5mL91QJQKN1upooUtt8b5cju
+vXrrQ9K1SoXVpK/XTjCk2AiL9Zus8hqB4LtFNNPdydn5Yir7pYK5SFfWzQD6a6IpahRRNavH
+uKynJfaSygSo2DHDK4FYv8K22V01gaOJaNLfhVrTf6pt2kzxQM6Pmg4Hys8LOTmM5eg1N0vj
+fCFp5vX8GrNJ7hoPuEa4E7R03ZD0dJ9xQWvW6AhhVtr7BJcIeMNhmf+YwIJqB/DIb3k6zNdN
+dDzBzheUhpP0z5EXr3/nXSDL3f0PVnA218P74WaLUC3RFbdz3WPPBUBaoVx1MXBPsonJFIdW
+dnAqFQgWKuT9y77suZks1Tp0Z/H3h8HPMjRev+cDuK5FQlqqsW92INebyM5GpLLh8doQ1ckl
+jh/kDlnJy/33pPzGCDgLmqG6S84u07aAx8B15ayOgz26Be/yZZhlNaBFLsIwZ+01Ju6gzRYd
+lp7F2PNXLasFr/sjLuFZHrhtrlOAsaqM2GPNs4zHFdsBnP48Itg2E2jEYeDP4NFVAGXo137z
+5JwWcYwB97xQ+6DDPnoe6h20g63ocOX+yjvlg3QSt0/0C9QLPd1A2sQsNUPjoGXDuS9ZxpK9
+0ouyvlbfKksHYvT+fYhoP5Z9rGDwSxYl0IwKI6hGLiy/+NOGhsihE4C3F1TrwBbWjyFTxnVi
+iFLuNPSy4rdFsTBq3Tur9ydLrfdOaXXhqtOthpadjihmUcwkDz8fxXJ47vdR8oCe4hVJQ8BI
+5m9FtSYkY+XQCWdCdJ8FCYUUl/MuvFlhxE4GAMrK/RCv19JDJTr0INu1kWxXB8RnneSkrdH4
+nR5mxsYb7V3eFdSvfL8B3xoOxH1KdLdqteqGOovwfBtCV3NapEdBjMa5A2/vkELPoA5sBDaD
+cQDQSMhhLDQDuNce9/GQSv0EUfSXp3iyK2ykRZbIBL0AeTgM2RKVC5Aqg/9T9JjU6DIqHc1Y
+hm0Jg/9DjdyaeW0+ZLCzdixxH2ylMeZguIBB15WGd5VSO8SO1gnncrTLnTEVNTX5ryZp6QiE
+2R29D5gVgQREKnopLxCvrpWQ+aek4FU2B9UdaQ/f9brI0SM9+vSMchk2ci4R7tkOePD7T/AI
+OjLuY1IrLhodfOV9jo8PXDm+OacyGt9QruwxbgQsrHJnL+ffyNrCy7GhehkxT4nTsuBFRVKz
+lDx68LIXqjpsL1gPkJfsaLnZCzu87Xc5eG0sh776QtDfQvVt9WlAvw6WJZfSZQZ8w8mT5zFS
+bdR+vifANhK4CXXGrmOY1weL/maqMEHymdsUJ6TCD656ExAxFzSRPmb2bWSAy0H77KznFLYC
+yppN+GaZ9nRHDWBGyaN6Om4UYiXrBBk1hdaDceY9OMao9GzGr7ypi1FfB0F01CuMtAzLWQp1
+DqSWCu8xnwKkoJxswzgn3GYBkUozNRiWilGoDy/DR80AchoRicJqhlWPkM5Xva5X9WTjSwyf
+j7PiVEyJBYsePMV4AJdZzEPAlrbbh+WA/81QVKqJS8xv7OKsvN6Dqe1UVFk4HA9on9dgEhLo
+rAAnrJPfK69jDt6jU/3O0RpA3GDzKsGRwn3IO2iXlnzZnG3GTrLyb/POatNIHCG0EQBtMvxw
+KfurKIiYhf+V6VnQafU9mxLx0dET8YZatFvxHBdUvkASP/8O1CZsOyLLmaDVL1gisjGmCAcN
+iydXmiMr8T6eobuLEJQY35+Hq9bxJzbJsY3RHBYNgbq6U1v3GKBxjZxoh4jcKc7dntedpb+A
+Zw35WaekLT828WKivQ9XQ1I9U8IPVH6qfdztqnkt8JehyPsQ7vOomWSh5Gq4gJXnAlEZxJob
+fTKK2RW7IlehPnQGnr0z4NfHWX3x9wZvd+vcxkBEhGpmsgGnRjF3HKa/K5Zt2gJm1EaRiPxp
+ylT+0Q+4qD0MwpXySyzRbYCsjn0/eyGY0Wy4r+r0+H4eumFxAF8NMTHlnVZh8XxljXeg9gER
+NG9YXv7+nfULRYACTbWG0XZpXz6IduaJ+073oprYj1spu0NV2VlbktXIXxeWbsHTHhP7lj59
+meHXIZfauWbQSylb0Gxh9OOamdsUBmvo46Hjp32F20W2+K4SuZcOK5n2uUgotGSYAX0Z5cb6
+bw/LQZBkv29tQOp6Je1Y7sk3/Cx2+JP7rfxBWBw5Q+ylHur4PS5k5Q5wIUsgP8+Vci/ERvna
+Sr7bFfJ3/hdQ/dma+8F9ZElOq/xveVVZp/CmwkCTtidOV0Xfl1Pbih6YAy+GYFxNC3tcRiVt
+myKiiINII8ObnU6xt9bG3stLbCqBPDlLHpcKBe0VA8olW48qrLyArKXw8BJONyFiPUmctThS
+yrwAb/aUM/8OJgam7ptwCMUETcIgFxabU13jFPQ7KhwTz8OIdt4PzT3bh91zp02IpN33LfKB
+yWv7XFg/y2l1mxrTM7qY+6YRNUOZz0RxH31fPWeFfEX20pKWphgVOo5PyQAC7fzyUOYl1JAR
+AF7FQIyq2ddGD1ScAWjpjc8ubZRQVJpAS97KIFYxxgUreh1lamsdwmgT2wktvsU6IGNd2mX2
+a2IIioJxmHOBaNR1HpPf25WyhI2b+9a1FEsX3lSRl+JAfbM7NXbtEwVHB/Ac/q7k/lXXydHA
+j9VN778rWWGgc+SYjJlWSjzovCHxNQs17WBkFpZCtmfCM9ZSEHlLzs04HptD8y4IEtGQIrR7
+mCS2Tj63WGqmBHpbFKfBBKHGwxIBfKejej95yZjpmnhzWeBv2osZe5O1E9j8kxKVMMzW11qM
+spE2M5ZqjHIR11qvQdPrkr+v2hYohsZ1CxSLgziQaDcqxTQUdPM2S/gXVPNc4GJJmOWrnFJ7
+7sRVaNRAcloAF4MPu8aagCtu9qCmdKjVs3h70Cc4B0QxwDss3iAJpIl5wrhEr1YDahKAFqp5
+DZZx1wfiqEP9/yi4pKUPgBXhZeKEW4UD0K8n2Y09eh6+wbDinn6oPDuq0qhWiib07TVGBQE6
+EiUUGFkMQ3e9f62jEFx0ncEHe78w8Htmj2xP7j/NSMlpjrQBQGjGHdBVGDwVxdQTZddTiEXj
+mtmy0RBGRHDvYP3mLRzPM4qWQ2kJ4KjrfBN0z4r/RgVfMXOEI2FlJHmmvstbmLdN4s4VSS6o
+9loF9Ctr7nO/8kYFoAOnNgiMkQARQn699kmAO6Gs7dx0mBXas9D6vbMkWZUCFLtZ4Fs+ndjv
+j6CcWPP4N527R8vGmYHe+bcg7TQDsfSx/FjO13wP7gAdj56mGxqWD2F+LO3XAQ7YF4YJqXoC
+2NQFLv/77idNzF4pm7G6AFL33OozLQYh14um7iuqnN5wmamCevnWQtu72mVzOmwNuEcN1hQe
+tuJpQ8SrPopJm0YAUn+cUdw5DVIiITmi+MXbKZzBk3aTn8NcFXPuy7UbutjyQ/TZEAb3Vxww
+NRjX7CR6VoNa4M28ACKAC2E4O0ED3+gKzQHVJtvEbQN71+FFVq39CvjmizrpwedoDvHraSjK
+yVl8WICEu7c6gtLrJri+x1nT7/wqatkEx9f21Q6lOgqKmqa/s+P+gwV98c5xiIryE2KCj+/O
+De+jHGTd1uWroYYKYt2SXO7ouRZs3VN/8Yw7qEWjKWq6t3PP4vrEioqFwJmCRXb+ldL9jqkD
+PVhGVi2PvzaYhPQRQPTKi8w+yTjOyc5gjs3koMuoRcRpIDsoDXH2bBxA2YPPym2Ar5MmAxoq
+CuvchYxYxVAz4XnhVOnMIrcYwtaT7d0rpm6ttHTFxL22E3MdZ6TZeJQqyFQQ2aKVubVoSDo3
+zDFWbBAheQEik0Eiy1vTlaZASUWuPs0E+5gUaWjn9wFvhTbPCq6qNAUvPHHk1sd6pM3naWvZ
+J3wzSPPf8EWD8j222Ie22MzsjkA7Uu20+FJhIjgghvfQJlrd9jFh53MlRJY/Mupd0hL8kUTR
+4Lqw+BKtEhlkDijym6HYDG9tx3lEF5KF01KYdVmA0PAsPRsr7w0g3UP30AeK/4UCxy2qbH10
+wGamc06TRfLKTUy/I5PyWn8lUNBDtgCazqjZ4u5IKgdTdZbSYcAzpazPmhpN/+lQCPnvDbrF
+9bRNyjBPku1y559HLYwk+i2m/3fOjz3psljVHD1IAcvjUOANR0jaTfgIIdo+NUyP42GTi2R0
+oj8TAYJqHOVSJt7fmqApHB1dEfDHpNCsow/K3jq0ISyiHYqAQaEEuUhzB0Hd4iX0Lxzw4YIe
+6ySOsWK+D3pb0An9SSb/K2RWtYu0nw2NG16gJOiNCS1g+pMQ+HMRRMhROi0kY5XyXYtiWRSu
+1Gqj4cKmol62+xAZlMXdzNlfVlVx5SvtO4T9rcgNAAVgOgapYIkVgZHbw2IEMiDI9nFFh4GU
+Hk8KSrh32VgZPB0OOMvPHI/KPG71kssg/3QajIJ3Ry+AmHowbYY8459inEcYFcXJpXFQ5WQX
+yVRVfZBln2YBuNveoRuB804dpYfZfJU3VBLcfdriI+im14oi+rP7laWOfbC/GNBW2ZJa4sse
+Xr7R4qad8IqNJLtZx7lkc7VZzIN/VPzhjLudbsLlF6Bft/Fjwxqy/Ny4hTrkNzUqGVp3ORfn
+HNc01z/36XlB8mwrRlJeTeaJBnLLokQFVipr84A2SoXITSGbDC2mXA7IB9jnk3slfkP1+Nb6
+JHwld0ZRn4MhxZevOfuaoImzHtsauORfXtsxjzafImsqaefYFaBRZY6Ia1XFpAdquTFpuG1i
+igBFrRB4cYN7X2lrbzjHYCO8plGk5G29riqu3CIUO4PfH6PaYlNWUoKPJZilqnZcIEsGTobF
+L9hPLVtWVTSQ0dcp3pD9DgJlm19rc4Wv1qWHD2R4sx85TgoLSNTOYTGreMVbKjN+unGY5Y6T
+hXLzL0v7cqSMJHyg/LOdNQxZLK2WwdKWRSKKPppHZh32ndSfj9+1/WTbc04rOVWKZw7MT3ud
+R3cm0Uk33D0IckhKqIY/ONN9zKikc4Tuu7d7jXyqL8YcIQ+zwMoEnyshqv5mhgKSaCzxTK9e
+U4AU/bvi4r/ymIARR19sza6svxJDj5MhJcPn5rCvPlnRjZuGiprpiQHJYRM3pWuVEf+Me/9b
+WgkX9V7tqomNxRKZV5qYtS1Cuwk6h+SqHFBEMuYTROAFlfdKNUkRWQHvVoJgtbadrAOhBICI
+jGJzA3qiiL9pGx4JuosqP1gl8FyyEFoSgAbmtldTq13xIU4iGUttvqSW+a06+6xz2b4E0ZYA
+yq/Wc33w6nDaKUuPe7Ndo5l5alQHFAOOkOHJiybmrPVCkD57ALgcYWDlhj/0D3kD064lZqSZ
+WZTmPXcd0TWRWtHigtoQmbDck//7dBw/8k4WRy5bFfdaP2HumfH9+UWNgKcEEbjWdcgiPWfl
+r3tCzDJcU0L1xQDIKJIBfj43Jh1NVYIJJtxRRylIm84WASaPoxtZOg9uWmZfCc3VHlzizo5r
+dry390Ieb2HMzRTVqaNNkVwRZDQqacHaQuhWG1wXmVIyWiNGxEZn59ipedzaZ2QQygmDZEwD
+hutA1V1k+wX8lddjqpVkoClrTBPpB2AB15CbhzTTok3obC53WT+laD4R1tftl/aFpMddQMm9
+WrxrHxQkw34G66Kg1Igwpr3Mt88rm5Z+KQoAfhfAP024NtgdEyQR4ua9yeRYpfecJvHj8ALM
+wMIKbTwUcbAFyXw5G0sSq46hTOxU26WztoTafSU+eg6BR+35fTJE3SzWwRwSbllcvda6OZCA
+ZsQLjWPG/d1GYpUHdklLN8eIYEMcdMKPMOezZbD2cc1BogSgsScMzrA2gtXiIjXPhGvjoHQ/
+w7fmDLrAiIFCgTV0l7CWHtZ0GozXtqDr5BeI5lsqU+cLQJFwMpSeGo7Rzcx4RqHCFZi9dCld
+wLsDvuDvvHXfQfNgz6IcnGzBVZUSlEye4zss/RCiCXfOm9NRZDB5hVXheBhShf1WWVnIgrHG
+TPYmQHsxIr76Bsv2P/wZyrd7mjoqzrPsRf2cwGQQkgCapo3QkznJt5TEJMb14bh1TeMHGJmK
+lucuO8hxKgVmkgH4MustwFi+hTmVZmDKROYMzTftg8XOai3PDulbYMdGo2GgZdwvb2JVLceh
+9YkbUPheptXlP+ysG5HvtQZiTV/cEnlqpvC80V/S/hM70Eb2lZ/8yoI58kUy3bfXZsJeuC2N
+NeciAH8mjkPaMyzPHvl5Ix3wPZatFHN7cZsMTkhW6KDgu9ciIykQTD5ywcZY5hptwn0yZYT5
+p3rLmVGYUDCutQHND+R4xUtXoOPeCZr7h3mblXVGkRh/6YYmOAA6Sp3R/flZh20cHq+2WeM1
+A5j6lDgqT52HAQaO5ymD//VY0icrLnBNTBKydk2EIQAfAf46qD5ibq+W8mpo3kPORkSWFYiA
+3CSUi3IkaTsrNBESnhyM4K05PjAJCVHuBbyMcP8HodnxRiRR+hbhDj0e2LLYn9XAdZRZgM1X
+I7TuKVyWcZFJmBUGo7envdRKqt9XMUh2CqU7C3/flXG2Zb7JXaha08OZq/9+BgCS683XAv7B
+70Rf7FkAvVfT/Bjsfac6Tltb9f+8Z/iqPhnEyqprmUn/OVQuqwoJoRA5ug2zly5zanCoi0Pb
+sCoawG2rNc2L8h2HwCea7DSK+vAsp68akQfDAx0k+dTcbDjq82d9MoouP/+7Wu9B7CvUOO2U
+LzK4xHaBWusiAIxm0Z+2t3PMLhzFvcvv2tzzdKTJXZj/LBBWYlaVL4RJTp8Od29rMwlsbN6p
+9/KWEECwDIibhciZbInXVJmxbvkjTMuAnMChuGFJsqxmZKtHvyMu25AqcecsjBgF1TwGLL/E
+Lzv3oetFc3f8+VWt396DNSKyzCjU1rfJNYoy8WWAyTOeAToGAIdSQtCRdmpxF+zOAhA1+GpU
+xrwWx3KKjp9SwQgoqP+U96j5kdUjCU0J90cTJmW3ZC/kXhb8XYOMbQhR4SsJMD8XIGU2mvWA
+71IBBd3T8psJn1K1O2h1T2qYJ1ryD1vryDAv9zDIisNkRSgbpGd25XS4gbbFeQzsDJnT9oci
+rosqiSJ27IN/Pmg3guUe1RHXo+p/3PtcxUMNiNih8gsC97yMYl9/8erysf7cZvTgetEU9gCY
+k+hydKB0G4kMEv2M547YE5fWTSA3Vvw2s3MW1WOtU8cKITI6XOBcEddtwqPIaRfGdSJYiHbP
+K/msaBIuoLZu+zq/hHpRZ1e23MaYBTZuP3ZBxDU4yuX46//M002sX7ydND9P8JYOPpi/Giyd
+GNM+Z/Ssn0thF5MeswEKi9qjGDWGrJYqT3N77fFULMhroZcb0/ffMnWEO/P0USYZYGjVL6yV
+5ZlP0ZH3rbTcnkTRcc6rX2XngrPps/gtG2h6YCMjmICG0Wmk9kq3/vl3YQg1dBmWpunr0z7b
+zpvVoSzwMSFJCY+3/zvCB+0/oVe3HhSvvSb/mg+J3XGYV/AZa4VOwgdiSdg8jbaRgctvS8fk
+pWJrqfaqU4Q1sXok+Vrs60FSrm3Y0QCMnAuvRvZfiadF0UUawcxSvnqULI/J+d4iG+N8R2Ab
+laWEQBXnHH29wb4EmWn3Yf2ZDn7TqwFfnI7FkZqa5lS9rlrSmlUBq7wpkOh/TdbkBy9JWo60
+0LbopUqCw5iNmOITXXnbRvafREWTREfg5sd7PpJfrpQiyS+FL8QpWXbj/+f2+50IWWY+Fn3z
+eZ9Z4v+U651mqa+85QYEF1xZ+XXmc9GpMo/dCsmzRIqtMLPtE7Bba124IUPDHwaErHsiqWCX
+dePPcE7oP5qKsOpENb0iyDYxq8+Kpds6bkGGwa2gbDPVBFm9EzsZ8lGkbYy9pmoJWxOBpUc4
+hw0GsvsF7fS6A0nZxYH3bnKYPeY/KjtCl2cOI0QCv1Q00MtkZhlJI1d2AStDt4/BXea6BNGK
+2EPoofeAFuNWhQCnZxX+FQqPopDNmFYo036d3f2gr34I/LWxqiBlK0qVPFrnpBLURBk41cFF
+0FuRBR3JeTgJQQF9PpJJ4wC1JQnB4lQAXR+8RbrO6fk5pg6rh3Iod7VoTBrQl0JsWtqcBlh2
+WcuW8B0m4EL/LnSSaY90xMnOyP3vofGRt1ZQjpqaVOoRi1Y51q/QEgteQfy8jBmvq3W0g73R
+R9quFakX5Us2ETUtc/0ssYSS4op9MAgJubZx3+zkIiL2QOmIIxRd/XBburRcJ75/BIIBUBka
+DLlCTLUZw7fiBnvpESMuA3fbSpabJ3tWbrR0ZtX+38m5CcleaAHfxHb2amAth5XL4dDRNEmz
+wDYp4zIcZSRc1hd5/F8Nc7bdv3z4ux5jr8jOMYAN3S8wgu71AtMALzjUdJ+iCAFgYgi/C1D3
+zP9Dxcef8jDrvYZBnM1ZjVzfuLrexbg1ORDUARK9zCZkLYIpTz4UCSiGFZcmDrHeKqyXnfRN
+b2tH6jxMmb0p/SgRGrOesd0X2MhGbvTpQVKhqsUp0A9E/0YBej+sac5bmJVkP6JOCjJ2hvDS
+m1YUCcXvB5pR/yGfZqwceJPkcOx1+XQ6C/SG1LyPacgMJULHtS8W6tjxUW8DjjXJjV+TkIBr
+A1Q9QOMVpws9V7RbXcayBAvqENMu+sSYqTMBx06J7Gz2QR3MsWb0EACsU0guBL4CbKPOO2ya
+xHjkn9PJXPi0SwQIpVVWZx0tTA0AAAAAAAAAAAAA


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[2/4] james-project git commit: MAILET-144 Use the same certificate in all SMIME tests (end of validity in 2044)

Posted by ad...@apache.org.
MAILET-144 Use the same certificate in all SMIME tests (end of validity in 2044)


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/bc0d0a30
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/bc0d0a30
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/bc0d0a30

Branch: refs/heads/master
Commit: bc0d0a30484afb61bcf492194ea629bb03548ab5
Parents: 46afd92
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jan 4 13:40:18 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Jan 30 10:33:26 2017 +0100

----------------------------------------------------------------------
 .../james/mailets/TemporaryFilesystemModule.java    |   1 -
 .../mailets/crypto/SMIMESignIntegrationTest.java    |   9 +++------
 .../src/test/resources/smime_1.p12                  | Bin 4069 -> 0 bytes
 3 files changed, 3 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/bc0d0a30/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
index 7e6786d..d470352 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
@@ -54,7 +54,6 @@ public class TemporaryFilesystemModule extends AbstractModule {
             "recipientrewritetable.xml",
             "smtpserver.xml",
             "usersrepository.xml",
-            "smime_1.p12",
             "smime.p12");
 
     private final Supplier<File> workingDirectory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc0d0a30/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
index 4ff2af1..20992b0 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
@@ -44,7 +44,6 @@ import com.jayway.awaitility.core.ConditionFactory;
 
 public class SMIMESignIntegrationTest {
 
-
     private static final ZonedDateTime DATE_2015 = ZonedDateTime.parse("2015-10-15T14:10:00Z");
     private static final String DEFAULT_DOMAIN = "domain";
     private static final String LOCALHOST_IP = "127.0.0.1";
@@ -63,8 +62,6 @@ public class SMIMESignIntegrationTest {
 
     @Before
     public void setup() throws Exception {
-        temporaryFolder.newFile("smime.pk12");
-
         MailetContainer mailetContainer = MailetContainer.builder()
             .postmaster("postmaster@" + DEFAULT_DOMAIN)
             .threads(5)
@@ -101,8 +98,8 @@ public class SMIMESignIntegrationTest {
                 .addMailet(MailetConfiguration.builder()
                     .clazz("SMIMESign")
                     .match("SenderIsLocal")
-                    .addProperty("keyStoreFileName", temporaryFolder.getRoot().getAbsoluteFile().getAbsolutePath() + "/conf/smime_1.p12")
-                    .addProperty("keyStorePassword", "totototo")
+                    .addProperty("keyStoreFileName", temporaryFolder.getRoot().getAbsoluteFile().getAbsolutePath() + "/conf/smime.p12")
+                    .addProperty("keyStorePassword", "secret")
                     .addProperty("keyStoreType", "PKCS12")
                     .addProperty("debug", "true")
                     .build())
@@ -135,7 +132,7 @@ public class SMIMESignIntegrationTest {
             .build();
 
         jamesServer = new TemporaryJamesServer(temporaryFolder, mailetContainer,
-            binder -> binder.bind(ZonedDateTimeProvider.class).toInstance(() -> DATE_2015));
+                binder -> binder.bind(ZonedDateTimeProvider.class).toInstance(() -> DATE_2015));
         Duration slowPacedPollInterval = Duration.FIVE_HUNDRED_MILLISECONDS;
         calmlyAwait = Awaitility.with().pollInterval(slowPacedPollInterval).and().with().pollDelay(slowPacedPollInterval).await();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc0d0a30/server/mailet/integration-testing/src/test/resources/smime_1.p12
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/resources/smime_1.p12 b/server/mailet/integration-testing/src/test/resources/smime_1.p12
deleted file mode 100644
index 8a91933..0000000
Binary files a/server/mailet/integration-testing/src/test/resources/smime_1.p12 and /dev/null differ


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org