]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/Launcher.java
Include smime signed messages from "sendmail" provider
[gigi.git] / src / org / cacert / gigi / Launcher.java
index c2e11286a07414d6894e0d91b505c1184a2d84af..f056be96f8a61ead04617cf8eee78afacd701e7b 100644 (file)
@@ -2,7 +2,12 @@ package org.cacert.gigi;
 
 import java.io.IOException;
 import java.security.GeneralSecurityException;
+import java.security.Key;
 import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.Certificate;
 import java.util.List;
 import java.util.Properties;
 
@@ -14,6 +19,7 @@ import javax.net.ssl.SSLParameters;
 import javax.net.ssl.SSLSession;
 
 import org.cacert.gigi.api.GigiAPI;
+import org.cacert.gigi.email.EmailProvider;
 import org.cacert.gigi.natives.SetUID;
 import org.cacert.gigi.util.CipherInfo;
 import org.cacert.gigi.util.ServerConstants;
@@ -42,6 +48,7 @@ public class Launcher {
     public static void main(String[] args) throws Exception {
         GigiConfig conf = GigiConfig.parse(System.in);
         ServerConstants.init(conf.getMainProps());
+        initEmails(conf);
 
         Server s = new Server();
         // === SSL HTTP Configuration ===
@@ -73,6 +80,13 @@ public class Launcher {
         }
     }
 
+    private static void initEmails(GigiConfig conf) throws GeneralSecurityException, IOException, KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
+        KeyStore privateStore = conf.getPrivateStore();
+        Certificate mail = privateStore.getCertificate("mail");
+        Key k = privateStore.getKey("mail", conf.getPrivateStorePw().toCharArray());
+        EmailProvider.initSystem(conf.getMainProps(), mail, k);
+    }
+
     private static SslConnectionFactory createConnectionFactory(GigiConfig conf) throws GeneralSecurityException, IOException {
         final SslContextFactory sslContextFactory = generateSSLContextFactory(conf, "www");
         final SslContextFactory secureContextFactory = generateSSLContextFactory(conf, "secure");