diff options
Diffstat (limited to 'libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/ReadEncryptedMail.java')
-rw-r--r-- | libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/ReadEncryptedMail.java | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/ReadEncryptedMail.java b/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/ReadEncryptedMail.java deleted file mode 100644 index a180994f9..000000000 --- a/libraries/spongycastle/mail/src/main/java/org/spongycastle/mail/smime/examples/ReadEncryptedMail.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.bouncycastle.mail.smime.examples; - -import java.io.FileInputStream; -import java.security.KeyStore; -import java.security.PrivateKey; -import java.security.cert.X509Certificate; -import java.util.Enumeration; -import java.util.Properties; - -import javax.mail.Session; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMessage; - -import org.bouncycastle.cms.RecipientId; -import org.bouncycastle.cms.RecipientInformation; -import org.bouncycastle.cms.RecipientInformationStore; -import org.bouncycastle.cms.jcajce.JceKeyTransEnvelopedRecipient; -import org.bouncycastle.cms.jcajce.JceKeyTransRecipientId; -import org.bouncycastle.mail.smime.SMIMEEnveloped; -import org.bouncycastle.mail.smime.SMIMEUtil; - -/** - * a simple example that reads an encrypted email. - * <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. - */ -public class ReadEncryptedMail -{ - public static void main( - String args[]) - throws Exception - { - if (args.length != 2) - { - System.err.println("usage: ReadEncryptedMail 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); - } - - // - // find the certificate for the private key and generate a - // suitable recipient identifier. - // - X509Certificate cert = (X509Certificate)ks.getCertificate(keyAlias); - RecipientId recId = new JceKeyTransRecipientId(cert); - - // - // Get a Session object with the default properties. - // - Properties props = System.getProperties(); - - Session session = Session.getDefaultInstance(props, null); - - MimeMessage msg = new MimeMessage(session, new FileInputStream("encrypted.message")); - - SMIMEEnveloped m = new SMIMEEnveloped(msg); - - RecipientInformationStore recipients = m.getRecipientInfos(); - RecipientInformation recipient = recipients.get(recId); - - MimeBodyPart res = SMIMEUtil.toMimeBodyPart(recipient.getContent(new JceKeyTransEnvelopedRecipient((PrivateKey)ks.getKey(keyAlias, null)).setProvider("BC"))); - - System.out.println("Message Contents"); - System.out.println("----------------"); - System.out.println(res.getContent()); - } -} |