Bouncy Castle Cryptography 1.19

org.bouncycastle.mail.smime
Class SMIMEEnvelopedGenerator

java.lang.Object
  |
  +--org.bouncycastle.mail.smime.SMIMEGenerator
        |
        +--org.bouncycastle.mail.smime.SMIMEEnvelopedGenerator

public class SMIMEEnvelopedGenerator
extends SMIMEGenerator

General class for generating a pkcs7-mime message. A simple example of usage.

      SMIMEEnvelopedGenerator  fact = new SMIMEEnvelopedGenerator();

      fact.addKeyTransRecipient(cert);

      MimeBodyPart           smime = fact.generate(content, algorithm, "BC");
 
Note: Most clients expect the MimeBodyPart to be in a MimeMultipart when it's sent.


Field Summary
static java.lang.String AES128_CBC
           
static java.lang.String AES192_CBC
           
static java.lang.String AES256_CBC
           
static java.lang.String CAST5_CBC
           
static java.lang.String DES_EDE3_CBC
           
static java.lang.String IDEA_CBC
           
static java.lang.String RC2_CBC
           
 
Fields inherited from class org.bouncycastle.mail.smime.SMIMEGenerator
encoding, useBase64
 
Constructor Summary
SMIMEEnvelopedGenerator()
          base constructor
 
Method Summary
 void addKeyTransRecipient(java.security.PublicKey key, byte[] subKeyId)
          add a recipient - note: this will only work on V3 and later clients.
 void addKeyTransRecipient(java.security.cert.X509Certificate cert)
          add a recipient.
 javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeBodyPart content, java.lang.String encryptionOID, int keySize, java.lang.String provider)
          generate an enveloped object that contains an SMIME Enveloped object using the given provider.
 javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeBodyPart content, java.lang.String encryptionOID, java.lang.String provider)
          generate an enveloped object that contains an SMIME Enveloped object using the given provider.
 javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeMessage message, java.lang.String encryptionOID, int keySize, java.lang.String provider)
          generate an enveloped object that contains an SMIME Enveloped object using the given provider from the contents of the passed in message.
 javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeMessage message, java.lang.String encryptionOID, java.lang.String provider)
          generate an enveloped object that contains an SMIME Enveloped object using the given provider from the contents of the passed in message
 
Methods inherited from class org.bouncycastle.mail.smime.SMIMEGenerator
makeContentBodyPart, makeContentBodyPart, setContentTransferEncoding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DES_EDE3_CBC

public static final java.lang.String DES_EDE3_CBC

RC2_CBC

public static final java.lang.String RC2_CBC

IDEA_CBC

public static final java.lang.String IDEA_CBC

CAST5_CBC

public static final java.lang.String CAST5_CBC

AES128_CBC

public static final java.lang.String AES128_CBC

AES192_CBC

public static final java.lang.String AES192_CBC

AES256_CBC

public static final java.lang.String AES256_CBC
Constructor Detail

SMIMEEnvelopedGenerator

public SMIMEEnvelopedGenerator()
base constructor
Method Detail

addKeyTransRecipient

public void addKeyTransRecipient(java.security.cert.X509Certificate cert)
                          throws java.lang.IllegalArgumentException
add a recipient.

addKeyTransRecipient

public void addKeyTransRecipient(java.security.PublicKey key,
                                 byte[] subKeyId)
                          throws java.lang.IllegalArgumentException
add a recipient - note: this will only work on V3 and later clients.
Parameters:
key - the recipient's public key
subKeyId - the subject key id for the recipient's public key

generate

public javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeBodyPart content,
                                                 java.lang.String encryptionOID,
                                                 java.lang.String provider)
                                          throws java.security.NoSuchAlgorithmException,
                                                 java.security.NoSuchProviderException,
                                                 SMIMEException
generate an enveloped object that contains an SMIME Enveloped object using the given provider.

generate

public javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeMessage message,
                                                 java.lang.String encryptionOID,
                                                 java.lang.String provider)
                                          throws java.security.NoSuchAlgorithmException,
                                                 java.security.NoSuchProviderException,
                                                 SMIMEException
generate an enveloped object that contains an SMIME Enveloped object using the given provider from the contents of the passed in message

generate

public javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeBodyPart content,
                                                 java.lang.String encryptionOID,
                                                 int keySize,
                                                 java.lang.String provider)
                                          throws java.security.NoSuchAlgorithmException,
                                                 java.security.NoSuchProviderException,
                                                 SMIMEException
generate an enveloped object that contains an SMIME Enveloped object using the given provider. The size of the encryption key is determined by keysize.

generate

public javax.mail.internet.MimeBodyPart generate(javax.mail.internet.MimeMessage message,
                                                 java.lang.String encryptionOID,
                                                 int keySize,
                                                 java.lang.String provider)
                                          throws java.security.NoSuchAlgorithmException,
                                                 java.security.NoSuchProviderException,
                                                 SMIMEException
generate an enveloped object that contains an SMIME Enveloped object using the given provider from the contents of the passed in message. The size of the encryption key used to protect the message is determined by keysize.

Bouncy Castle Cryptography 1.19