|
IAIK CMS/SMIME Toolkit Demo API Documentation
Version 6.1 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectdemo.smime.basic.SMimeEnvelopedDemoAEAD
public class SMimeEnvelopedDemoAEAD
This class demonstrates the usage of the IAIK S/MIME implementation. It shows how to create
signed and/or encrypted S/MIME messages and how to parse them and verify the signatures
and decrypt the content, respectively. This demos creates encrypted messages using an AEAD
cipher mode (like GCM). Although CMS and S/MIME generally use AEAD cipher modes with the
AuthEnvelopedData
content type, it is technically possible to also use
AEAD cipher modes with the EnvelopedData
content type (when appending the mac value
to the cipher text). This demo shows how to encrypt S/MIME messages with AEAD cipher modes when
using the CMS EnvelopedData
type.
To run this demo the following packages are required:
iaik_cms.jar
(IAIK-CMS/SMIME)
iaik_jce(_full).jar
(IAIK-JCE Core Crypto Library).
mail.jar
(JavaMail API).
activation.jar
(Java Activation Framework; required for JDK versions < 1.6).
Constructor Summary | |
---|---|
SMimeEnvelopedDemoAEAD()
Default constructor. |
Method Summary | |
---|---|
javax.mail.Message |
createEncryptedMessage(javax.mail.Session session,
iaik.asn1.structures.AlgorithmID contentEA,
int keyLength)
Creates an encrypted message. |
javax.mail.Message |
createMessage(javax.mail.Session session,
java.lang.String subject)
Creates a MIME message container with the given subject for the given session. |
javax.mail.Message |
createPlainMessage(javax.mail.Session session,
javax.activation.DataHandler dataHandler)
Creates a simple plain (neither signed nor encrypted) message. |
javax.mail.Message |
createSignedAndEncryptedMessage(javax.mail.Session session,
iaik.asn1.structures.AlgorithmID contentEA,
int keyLength,
javax.activation.DataHandler dataHandler,
boolean implicit,
boolean authEncrypt)
Creates a signed and encrypted message. |
javax.mail.Message |
createSignedMessage(javax.mail.Session session,
javax.activation.DataHandler dataHandler,
boolean implicit,
iaik.asn1.structures.AlgorithmID digestAlgorithm,
iaik.asn1.structures.AlgorithmID signatureAlgorithm)
Creates a signed message. |
static void |
main(java.lang.String[] argv)
The main method. |
void |
start()
Starts the demo. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SMimeEnvelopedDemoAEAD()
Method Detail |
---|
public void start() throws java.io.IOException
java.io.IOException
- if an I/O related error occurspublic javax.mail.Message createMessage(javax.mail.Session session, java.lang.String subject) throws javax.mail.MessagingException
session
- the mail sesionsubject
- the subject of the message
javax.mail.MessagingException
- if the message cannot be createdpublic javax.mail.Message createPlainMessage(javax.mail.Session session, javax.activation.DataHandler dataHandler) throws javax.mail.MessagingException
session
- the mail sessiondataHandler
- the content of the message
javax.mail.MessagingException
- if an error occurs when creating the messagepublic javax.mail.Message createSignedAndEncryptedMessage(javax.mail.Session session, iaik.asn1.structures.AlgorithmID contentEA, int keyLength, javax.activation.DataHandler dataHandler, boolean implicit, boolean authEncrypt) throws javax.mail.MessagingException
session
- the mail sessioncontentEA
- the content encryption algorithm to be usedkeyLength
- the length of the secret content encryption key to be created and useddataHandler
- the content of the message to be signed and encryptedimplicit
- whether to use implicit (application/pkcs7-mime) or explicit
(multipart/signed) signingauthEncrypt
- whether to create an encrypted message
javax.mail.MessagingException
- if an error occurs when creating the messagepublic javax.mail.Message createSignedMessage(javax.mail.Session session, javax.activation.DataHandler dataHandler, boolean implicit, iaik.asn1.structures.AlgorithmID digestAlgorithm, iaik.asn1.structures.AlgorithmID signatureAlgorithm) throws javax.mail.MessagingException
session
- the mail sessiondataHandler
- the content of the message to be signedimplicit
- whether to use implicit (application/pkcs7-mime) or explicit
(multipart/signed) signingdigestAlgorithm
- the digest algorithm to be usedsignatureAlgorithm
- the signature algorithm to be used
javax.mail.MessagingException
- if an error occurs when creating the messagepublic javax.mail.Message createEncryptedMessage(javax.mail.Session session, iaik.asn1.structures.AlgorithmID contentEA, int keyLength) throws javax.mail.MessagingException
session
- the mail sessioncontentEA
- the content encryption algorithm to be usedkeyLength
- the length of the secret content encryption key to be created and used
javax.mail.MessagingException
- if an error occurs when creating the messagepublic static void main(java.lang.String[] argv) throws java.io.IOException
java.io.IOException
|
IAIK CMS/SMIME Toolkit Demo API Documentation
Version 6.1 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
![]() |
v6.1 (c) 2002 IAIK, (c) 2003 - 2025 SIC |
![]() |