Bouncy Castle Cryptography Library 1.81

org.bouncycastle.mail.smime
Class SMIMESigned

java.lang.Object
  extended byorg.bouncycastle.cms.CMSSignedData
      extended byorg.bouncycastle.mail.smime.SMIMESigned
All Implemented Interfaces:
org.bouncycastle.util.Encodable

public class SMIMESigned
extends org.bouncycastle.cms.CMSSignedData

general class for handling a pkcs7-signature message.

(SMIMESignedParser may be preferred e.g. for large files, since it avoids loading all the data at once).

A simple example of usage - note, in the example below the validity of the certificate isn't verified, just the fact that one of the certs matches the given signer[]

CertStore certs = s.getCertificates("Collection", "BC"); SignerInformationStore signers = s.getSignerInfos(); Collection c = signers.getSigners(); Iterator it = c.iterator(); while (it.hasNext()) { SignerInformation signer = (SignerInformation)it.next(); Collection certCollection = certs.getCertificates(signer.getSID()); Iterator certIt = certCollection.iterator(); X509Certificate cert = (X509Certificate)certIt.next(); if (signer.verify(cert.getPublicKey())) { verified++; } }

Note: if you are using this class with AS2 or some other protocol that does not use 7bit as the default content transfer encoding you will need to use the constructor that allows you to specify the default content transfer encoding, such as "binary".


Constructor Summary
SMIMESigned(javax.mail.internet.MimeMultipart message)
          base constructor using a defaultContentTransferEncoding of 7bit
SMIMESigned(javax.mail.internet.MimeMultipart message, java.lang.String defaultContentTransferEncoding)
          base constructor with settable contentTransferEncoding
SMIMESigned(javax.mail.Part message)
          base constructor for a signed message with encapsulated content.
 
Method Summary
 javax.mail.internet.MimeBodyPart getContent()
          return the content that was signed.
 javax.mail.internet.MimeMessage getContentAsMimeMessage(javax.mail.Session session)
          Return the content that was signed as a mime message.
 java.lang.Object getContentWithSignature()
          return the content that was signed - depending on whether this was unencapsulated or not it will return a MimeMultipart or a MimeBodyPart
 
Methods inherited from class org.bouncycastle.cms.CMSSignedData
addDigestAlgorithm, addDigestAlgorithm, getAttributeCertificates, getCertificates, getCRLs, getDigestAlgorithmIDs, getEncoded, getEncoded, getOtherRevocationInfo, getSignedContent, getSignedContentTypeOID, getSignerInfos, getVersion, isCertificateManagementMessage, isDetachedSignature, replaceCertificatesAndCRLs, replaceSigners, replaceSigners, toASN1Structure, verifySignatures, verifySignatures
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SMIMESigned

public SMIMESigned(javax.mail.internet.MimeMultipart message)
            throws javax.mail.MessagingException,
                   org.bouncycastle.cms.CMSException
base constructor using a defaultContentTransferEncoding of 7bit

Throws:
javax.mail.MessagingException - on an error extracting the signature or otherwise processing the message.
org.bouncycastle.cms.CMSException - if some other problem occurs.

SMIMESigned

public SMIMESigned(javax.mail.internet.MimeMultipart message,
                   java.lang.String defaultContentTransferEncoding)
            throws javax.mail.MessagingException,
                   org.bouncycastle.cms.CMSException
base constructor with settable contentTransferEncoding

Parameters:
message - the signed message
defaultContentTransferEncoding - new default to use
Throws:
javax.mail.MessagingException - on an error extracting the signature or otherwise processing the message.
org.bouncycastle.cms.CMSException - if some other problem occurs.

SMIMESigned

public SMIMESigned(javax.mail.Part message)
            throws javax.mail.MessagingException,
                   org.bouncycastle.cms.CMSException,
                   SMIMEException
base constructor for a signed message with encapsulated content.

Throws:
javax.mail.MessagingException - on an error extracting the signature or otherwise processing the message.
SMIMEException - if the body part encapsulated in the message cannot be extracted.
org.bouncycastle.cms.CMSException - if some other problem occurs.
Method Detail

getContent

public javax.mail.internet.MimeBodyPart getContent()
return the content that was signed.


getContentAsMimeMessage

public javax.mail.internet.MimeMessage getContentAsMimeMessage(javax.mail.Session session)
                                                        throws javax.mail.MessagingException,
                                                               java.io.IOException
Return the content that was signed as a mime message.

Parameters:
session -
Returns:
a MimeMessage holding the content.
Throws:
javax.mail.MessagingException
java.io.IOException

getContentWithSignature

public java.lang.Object getContentWithSignature()
return the content that was signed - depending on whether this was unencapsulated or not it will return a MimeMultipart or a MimeBodyPart


Bouncy Castle Cryptography Library 1.81