Package org.bouncycastle.mail.smime
Class SMIMEUtil
- java.lang.Object
-
- org.bouncycastle.mail.smime.SMIMEUtil
-
public class SMIMEUtil extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSMIMEUtil.SafeCreatorInterface to obfuscate the repetitive constructors so that we could have only one createSafe
-
Constructor Summary
Constructors Constructor Description SMIMEUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.bouncycastle.asn1.cms.IssuerAndSerialNumbercreateIssuerAndSerialNumberFor(java.security.cert.X509Certificate cert)Return a CMS IssuerAndSerialNumber structure for the passed in X.509 certificate.static java.lang.ObjectcreateSafe(java.io.InputStream sigStream, SMIMEUtil.SafeCreator creator)If getInputStreamNoMultipartSigned returns PipedInputStream it will lead to resource leak as it will not be closed if not handled safely.static booleanisMultipartContent(javax.mail.Part part)static javax.mail.internet.MimeBodyParttoMimeBodyPart(byte[] content)return the MimeBodyPart described in the raw bytes provided in contentstatic javax.mail.internet.MimeBodyParttoMimeBodyPart(java.io.InputStream content)return the MimeBodyPart described in the input stream contentstatic FileBackedMimeBodyParttoMimeBodyPart(org.bouncycastle.cms.CMSTypedStream content)return a file backed MimeBodyPart described inCMSTypedStreamcontent.static FileBackedMimeBodyParttoMimeBodyPart(org.bouncycastle.cms.CMSTypedStream content, java.io.File file)Return a file based MimeBodyPart represented by content and backed by the file represented by file.
-
-
-
Method Detail
-
isMultipartContent
public static boolean isMultipartContent(javax.mail.Part part) throws javax.mail.MessagingException- Throws:
javax.mail.MessagingException
-
toMimeBodyPart
public static javax.mail.internet.MimeBodyPart toMimeBodyPart(byte[] content) throws SMIMEExceptionreturn the MimeBodyPart described in the raw bytes provided in content- Throws:
SMIMEException
-
toMimeBodyPart
public static javax.mail.internet.MimeBodyPart toMimeBodyPart(java.io.InputStream content) throws SMIMEExceptionreturn the MimeBodyPart described in the input stream content- Throws:
SMIMEException
-
toMimeBodyPart
public static FileBackedMimeBodyPart toMimeBodyPart(org.bouncycastle.cms.CMSTypedStream content) throws SMIMEException
return a file backed MimeBodyPart described inCMSTypedStreamcontent.- Throws:
SMIMEException
-
toMimeBodyPart
public static FileBackedMimeBodyPart toMimeBodyPart(org.bouncycastle.cms.CMSTypedStream content, java.io.File file) throws SMIMEException
Return a file based MimeBodyPart represented by content and backed by the file represented by file.- Parameters:
content- content stream containing body part.file- file to store the decoded body part in.- Returns:
- the decoded body part.
- Throws:
SMIMEException
-
createIssuerAndSerialNumberFor
public static org.bouncycastle.asn1.cms.IssuerAndSerialNumber createIssuerAndSerialNumberFor(java.security.cert.X509Certificate cert) throws java.security.cert.CertificateParsingExceptionReturn a CMS IssuerAndSerialNumber structure for the passed in X.509 certificate.- Parameters:
cert- the X.509 certificate to get the issuer and serial number for.- Returns:
- an IssuerAndSerialNumber structure representing the certificate.
- Throws:
java.security.cert.CertificateParsingException
-
createSafe
public static java.lang.Object createSafe(java.io.InputStream sigStream, SMIMEUtil.SafeCreator creator) throws javax.mail.MessagingException, org.bouncycastle.cms.CMSExceptionIf getInputStreamNoMultipartSigned returns PipedInputStream it will lead to resource leak as it will not be closed if not handled safely. This method will initiate SMIMESigned but if it fails, it will close PipedInputStream- Throws:
javax.mail.MessagingException- an error extracting the signature or otherwise processing the message.org.bouncycastle.cms.CMSException- if some other problem occurs.
-
-