org.bouncycastle.mail.smime
public class SMIMESignedParser extends CMSSignedDataParser
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 | |
---|---|
SMIMESignedParser(MimeMultipart message)
base constructor using a defaultContentTransferEncoding of 7bit. | |
SMIMESignedParser(MimeMultipart message, File backingFile)
base constructor using a defaultContentTransferEncoding of 7bit and a specified backing file.
| |
SMIMESignedParser(MimeMultipart message, String defaultContentTransferEncoding)
base constructor with settable contentTransferEncoding. | |
SMIMESignedParser(MimeMultipart message, String defaultContentTransferEncoding, File backingFile)
base constructor with settable contentTransferEncoding and a specified backing file.
| |
SMIMESignedParser(Part message)
base constructor for a signed message with encapsulated content.
| |
SMIMESignedParser(Part message, File file)
Constructor for a signed message with encapsulated content. |
Method Summary | |
---|---|
MimeBodyPart | getContent()
return the content that was signed. |
MimeMessage | getContentAsMimeMessage(Session session)
Return the content that was signed as a mime message.
|
Object | getContentWithSignature()
return the content that was signed with its signature attached. |
Parameters: message signed message with signature.
Throws: MessagingException on an error extracting the signature or otherwise processing the message. CMSException if some other problem occurs.
Parameters: message signed message with signature. backingFile the temporary file to use to back the signed data.
Throws: MessagingException on an error extracting the signature or otherwise processing the message. CMSException if some other problem occurs.
Parameters: message the signed message with signature. defaultContentTransferEncoding new default to use.
Throws: MessagingException on an error extracting the signature or otherwise processing the message. CMSException if some other problem occurs.
Parameters: message the signed message with signature. defaultContentTransferEncoding new default to use. backingFile the temporary file to use to back the signed data.
Throws: MessagingException on an error extracting the signature or otherwise processing the message. CMSException if some other problem occurs.
Note: in this case the encapsulated MimeBody part will only be suitable for a single writeTo - once writeTo has been called the file containing the body part will be deleted.
Parameters: message the message containing the encapsulated signed data.
Throws: MessagingException on an error extracting the signature or otherwise processing the message. SMIMEException if the body part encapsulated in the message cannot be extracted. CMSException if some other problem occurs.
Parameters: message the Part containing the signed content. file the file the encapsulated part is to be written to after it has been decoded.
Throws: MessagingException on an error extracting the signature or otherwise processing the message. SMIMEException if the body part encapsulated in the message cannot be extracted. CMSException if some other problem occurs.
Returns: the signed body part in this message.
Parameters: session the session to base the MimeMessage around.
Returns: a MimeMessage holding the content.
Throws: MessagingException if there is an issue creating the MimeMessage. IOException if there is an issue reading the content.
Returns: depending on whether this was unencapsulated or not it will return a MimeMultipart or a MimeBodyPart