Bouncy Castle Cryptography Library 1.81

org.bouncycastle.mail.smime
Class SMIMEToolkit

java.lang.Object
  extended byorg.bouncycastle.mail.smime.SMIMEToolkit

public class SMIMEToolkit
extends java.lang.Object

A tool kit of common tasks.


Constructor Summary
SMIMEToolkit(org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider)
          Base constructor.
 
Method Summary
 javax.mail.internet.MimeBodyPart decrypt(javax.mail.internet.MimeBodyPart mimePart, org.bouncycastle.cms.RecipientId recipientId, org.bouncycastle.cms.Recipient recipient)
          Decrypt the passed in MIME part returning a part representing the decrypted content.
 javax.mail.internet.MimeBodyPart decrypt(javax.mail.internet.MimeMessage message, org.bouncycastle.cms.RecipientId recipientId, org.bouncycastle.cms.Recipient recipient)
          Decrypt the passed in MIME message returning a part representing the decrypted content.
 javax.mail.internet.MimeBodyPart encrypt(javax.mail.internet.MimeBodyPart mimePart, org.bouncycastle.operator.OutputEncryptor contentEncryptor, org.bouncycastle.cms.RecipientInfoGenerator recipientGenerator)
          Encrypt the passed in MIME part returning a new encrypted MIME part.
 javax.mail.internet.MimeBodyPart encrypt(javax.mail.internet.MimeMessage message, org.bouncycastle.operator.OutputEncryptor contentEncryptor, org.bouncycastle.cms.RecipientInfoGenerator recipientGenerator)
          Encrypt the passed in MIME message returning a new encrypted MIME part.
 javax.mail.internet.MimeBodyPart encrypt(javax.mail.internet.MimeMultipart multiPart, org.bouncycastle.operator.OutputEncryptor contentEncryptor, org.bouncycastle.cms.RecipientInfoGenerator recipientGenerator)
          Encrypt the passed in MIME multi-part returning a new encrypted MIME part.
 org.bouncycastle.cert.X509CertificateHolder extractCertificate(javax.mail.internet.MimeMultipart message, org.bouncycastle.cms.SignerInformation signerInformation)
          Extract the signer's signing certificate from Multipart message content.
 org.bouncycastle.cert.X509CertificateHolder extractCertificate(javax.mail.Part message, org.bouncycastle.cms.SignerInformation signerInformation)
          Extract the signer's signing certificate from the message.
 boolean isEncrypted(javax.mail.Part message)
          Return true if the passed in message (MimeBodyPart or MimeMessage) is encrypted.
 boolean isSigned(javax.mail.internet.MimeMultipart message)
          Return true if the passed in MimeMultipart is a signed one.
 boolean isSigned(javax.mail.Part message)
          Return true if the passed in message (MimeBodyPart or MimeMessage) is a signed one.
 boolean isValidSignature(javax.mail.internet.MimeMultipart message, org.bouncycastle.cms.SignerInformationVerifier verifier)
          Return true if there is a signature on the message that can be verified by verifier..
 boolean isValidSignature(javax.mail.Part message, org.bouncycastle.cms.SignerInformationVerifier verifier)
          Return true if there is a signature on the message that can be verified by the verifier.
 javax.mail.internet.MimeMultipart sign(javax.mail.internet.MimeBodyPart message, org.bouncycastle.cms.SignerInfoGenerator signerInfoGenerator)
          Produce a signed message in multi-part format with the second part containing a detached signature for the first.
 javax.mail.internet.MimeBodyPart signEncapsulated(javax.mail.internet.MimeBodyPart message, org.bouncycastle.cms.SignerInfoGenerator signerInfoGenerator)
          Produce a signed message in encapsulated format where the message is encoded in the signature..
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SMIMEToolkit

public SMIMEToolkit(org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider)
Base constructor.

Parameters:
digestCalculatorProvider - provider for any digest calculations required.
Method Detail

isEncrypted

public boolean isEncrypted(javax.mail.Part message)
                    throws javax.mail.MessagingException
Return true if the passed in message (MimeBodyPart or MimeMessage) is encrypted.

Parameters:
message - message of interest
Returns:
true if the message represents an encrypted message, false otherwise.
Throws:
javax.mail.MessagingException - on a message processing issue.

isSigned

public boolean isSigned(javax.mail.Part message)
                 throws javax.mail.MessagingException
Return true if the passed in message (MimeBodyPart or MimeMessage) is a signed one.

Parameters:
message - message of interest
Returns:
true if the message represents a signed message, false otherwise.
Throws:
javax.mail.MessagingException - on a message processing issue.

isSigned

public boolean isSigned(javax.mail.internet.MimeMultipart message)
                 throws javax.mail.MessagingException
Return true if the passed in MimeMultipart is a signed one.

Parameters:
message - message of interest
Returns:
true if the multipart has an attached signature, false otherwise.
Throws:
javax.mail.MessagingException - on a message processing issue.

isValidSignature

public boolean isValidSignature(javax.mail.Part message,
                                org.bouncycastle.cms.SignerInformationVerifier verifier)
                         throws SMIMEException,
                                javax.mail.MessagingException
Return true if there is a signature on the message that can be verified by the verifier.

Parameters:
message - a MIME part representing a signed message.
verifier - the verifier we want to find a signer for.
Returns:
true if cert verifies message, false otherwise.
Throws:
SMIMEException - on a SMIME handling issue.
javax.mail.MessagingException - on a basic message processing exception

isValidSignature

public boolean isValidSignature(javax.mail.internet.MimeMultipart message,
                                org.bouncycastle.cms.SignerInformationVerifier verifier)
                         throws SMIMEException,
                                javax.mail.MessagingException
Return true if there is a signature on the message that can be verified by verifier..

Parameters:
message - a MIME part representing a signed message.
verifier - the verifier we want to find a signer for.
Returns:
true if cert verifies message, false otherwise.
Throws:
SMIMEException - on a SMIME handling issue.
javax.mail.MessagingException - on a basic message processing exception

extractCertificate

public org.bouncycastle.cert.X509CertificateHolder extractCertificate(javax.mail.Part message,
                                                                      org.bouncycastle.cms.SignerInformation signerInformation)
                                                               throws SMIMEException,
                                                                      javax.mail.MessagingException
Extract the signer's signing certificate from the message.

Parameters:
message - a MIME part/MIME message representing a signed message.
signerInformation - the signer information identifying the signer of interest.
Returns:
the signing certificate, null if not found.
Throws:
SMIMEException
javax.mail.MessagingException

extractCertificate

public org.bouncycastle.cert.X509CertificateHolder extractCertificate(javax.mail.internet.MimeMultipart message,
                                                                      org.bouncycastle.cms.SignerInformation signerInformation)
                                                               throws SMIMEException,
                                                                      javax.mail.MessagingException
Extract the signer's signing certificate from Multipart message content.

Parameters:
message - a MIME Multipart part representing a signed message.
signerInformation - the signer information identifying the signer of interest.
Returns:
the signing certificate, null if not found.
Throws:
SMIMEException
javax.mail.MessagingException

sign

public javax.mail.internet.MimeMultipart sign(javax.mail.internet.MimeBodyPart message,
                                              org.bouncycastle.cms.SignerInfoGenerator signerInfoGenerator)
                                       throws SMIMEException
Produce a signed message in multi-part format with the second part containing a detached signature for the first.

Parameters:
message - the message to be signed.
signerInfoGenerator - the generator to be used to generate the signature.
Returns:
the resulting MimeMultipart
Throws:
SMIMEException - on an exception calculating or creating the signed data.

signEncapsulated

public javax.mail.internet.MimeBodyPart signEncapsulated(javax.mail.internet.MimeBodyPart message,
                                                         org.bouncycastle.cms.SignerInfoGenerator signerInfoGenerator)
                                                  throws SMIMEException
Produce a signed message in encapsulated format where the message is encoded in the signature..

Parameters:
message - the message to be signed.
signerInfoGenerator - the generator to be used to generate the signature.
Returns:
a BodyPart containing the encapsulated message.
Throws:
SMIMEException - on an exception calculating or creating the signed data.

encrypt

public javax.mail.internet.MimeBodyPart encrypt(javax.mail.internet.MimeBodyPart mimePart,
                                                org.bouncycastle.operator.OutputEncryptor contentEncryptor,
                                                org.bouncycastle.cms.RecipientInfoGenerator recipientGenerator)
                                         throws SMIMEException
Encrypt the passed in MIME part returning a new encrypted MIME part.

Parameters:
mimePart - the part to be encrypted.
contentEncryptor - the encryptor to use for the actual message content.
recipientGenerator - the generator for the target recipient.
Returns:
an encrypted MIME part.
Throws:
SMIMEException - in the event of an exception creating the encrypted part.

encrypt

public javax.mail.internet.MimeBodyPart encrypt(javax.mail.internet.MimeMultipart multiPart,
                                                org.bouncycastle.operator.OutputEncryptor contentEncryptor,
                                                org.bouncycastle.cms.RecipientInfoGenerator recipientGenerator)
                                         throws SMIMEException,
                                                javax.mail.MessagingException
Encrypt the passed in MIME multi-part returning a new encrypted MIME part.

Parameters:
multiPart - the multi-part to be encrypted.
contentEncryptor - the encryptor to use for the actual message content.
recipientGenerator - the generator for the target recipient.
Returns:
an encrypted MIME part.
Throws:
SMIMEException - in the event of an exception creating the encrypted part.
javax.mail.MessagingException

encrypt

public javax.mail.internet.MimeBodyPart encrypt(javax.mail.internet.MimeMessage message,
                                                org.bouncycastle.operator.OutputEncryptor contentEncryptor,
                                                org.bouncycastle.cms.RecipientInfoGenerator recipientGenerator)
                                         throws SMIMEException
Encrypt the passed in MIME message returning a new encrypted MIME part.

Parameters:
message - the multi-part to be encrypted.
contentEncryptor - the encryptor to use for the actual message content.
recipientGenerator - the generator for the target recipient.
Returns:
an encrypted MIME part.
Throws:
SMIMEException - in the event of an exception creating the encrypted part.

decrypt

public javax.mail.internet.MimeBodyPart decrypt(javax.mail.internet.MimeBodyPart mimePart,
                                                org.bouncycastle.cms.RecipientId recipientId,
                                                org.bouncycastle.cms.Recipient recipient)
                                         throws SMIMEException,
                                                javax.mail.MessagingException
Decrypt the passed in MIME part returning a part representing the decrypted content.

Parameters:
mimePart - the part containing the encrypted data.
recipientId - the recipient id in the date to be matched.
recipient - the recipient to be used if a match is found.
Returns:
a MIME part containing the decrypted content or null if the recipientId cannot be matched.
Throws:
SMIMEException - on an exception doing the decryption.
javax.mail.MessagingException - on an exception parsing the message,

decrypt

public javax.mail.internet.MimeBodyPart decrypt(javax.mail.internet.MimeMessage message,
                                                org.bouncycastle.cms.RecipientId recipientId,
                                                org.bouncycastle.cms.Recipient recipient)
                                         throws SMIMEException,
                                                javax.mail.MessagingException
Decrypt the passed in MIME message returning a part representing the decrypted content.

Parameters:
message - the message containing the encrypted data.
recipientId - the recipient id in the date to be matched.
recipient - the recipient to be used if a match is found.
Returns:
a MIME part containing the decrypted content, or null if the recipientId cannot be matched.
Throws:
SMIMEException - on an exception doing the decryption.
javax.mail.MessagingException - on an exception parsing the message,

Bouncy Castle Cryptography Library 1.81