aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/CreateEncryptedMail.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/CreateEncryptedMail.java')
-rw-r--r--libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/CreateEncryptedMail.java121
1 files changed, 0 insertions, 121 deletions
diff --git a/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/CreateEncryptedMail.java b/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/CreateEncryptedMail.java
deleted file mode 100644
index 40e114bd7..000000000
--- a/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/CreateEncryptedMail.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.bouncycastle.mail.smime.examples;
-
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.security.KeyStore;
-import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
-import java.util.Enumeration;
-import java.util.Properties;
-
-import javax.mail.Address;
-import javax.mail.Message;
-import javax.mail.Session;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-
-import org.bouncycastle.cms.CMSAlgorithm;
-import org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder;
-import org.bouncycastle.cms.jcajce.JceKeyTransRecipientInfoGenerator;
-import org.bouncycastle.mail.smime.SMIMEEnvelopedGenerator;
-
-/**
- * a simple example that creates a single encrypted mail message.
- * <p>
- * The key store can be created using the class in
- * org.bouncycastle.jce.examples.PKCS12Example - the program expects only one
- * key to be present in the key file.
- * <p>
- * Note: while this means that both the private key is available to
- * the program, the private key is retrieved from the keystore only for
- * the purposes of locating the corresponding public key, in normal circumstances
- * you would only be doing this with a certificate available.
- */
-public class CreateEncryptedMail
-{
- public static void main(
- String args[])
- throws Exception
- {
- if (args.length != 2)
- {
- System.err.println("usage: CreateEncryptedMail pkcs12Keystore password");
- System.exit(0);
- }
-
- //
- // Open the key store
- //
- KeyStore ks = KeyStore.getInstance("PKCS12", "BC");
-
- ks.load(new FileInputStream(args[0]), args[1].toCharArray());
-
- Enumeration e = ks.aliases();
- String keyAlias = null;
-
- while (e.hasMoreElements())
- {
- String alias = (String)e.nextElement();
-
- if (ks.isKeyEntry(alias))
- {
- keyAlias = alias;
- }
- }
-
- if (keyAlias == null)
- {
- System.err.println("can't find a private key!");
- System.exit(0);
- }
-
- Certificate[] chain = ks.getCertificateChain(keyAlias);
-
- //
- // create the generator for creating an smime/encrypted message
- //
- SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator();
-
- gen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator((X509Certificate)chain[0]).setProvider("BC"));
-
- //
- // create a subject key id - this has to be done the same way as
- // it is done in the certificate associated with the private key
- // version 3 only.
- //
- /*
- MessageDigest dig = MessageDigest.getInstance("SHA1", "BC");
-
- dig.update(cert.getPublicKey().getEncoded());
-
- gen.addKeyTransRecipient(cert.getPublicKey(), dig.digest());
- */
-
- //
- // create the base for our message
- //
- MimeBodyPart msg = new MimeBodyPart();
-
- msg.setText("Hello world!");
-
- MimeBodyPart mp = gen.generate(msg, new JceCMSContentEncryptorBuilder(CMSAlgorithm.RC2_CBC).setProvider("BC").build());
- //
- // Get a Session object and create the mail message
- //
- Properties props = System.getProperties();
- Session session = Session.getDefaultInstance(props, null);
-
- Address fromUser = new InternetAddress("\"Eric H. Echidna\"<eric@bouncycastle.org>");
- Address toUser = new InternetAddress("example@bouncycastle.org");
-
- MimeMessage body = new MimeMessage(session);
- body.setFrom(fromUser);
- body.setRecipient(Message.RecipientType.TO, toUser);
- body.setSubject("example encrypted message");
- body.setContent(mp.getContent(), mp.getContentType());
- body.saveChanges();
-
- body.writeTo(new FileOutputStream("encrypted.message"));
- }
-}