IAIK CMS/SMIME Toolkit Demo API Documentation
Version 6.1

demo.cms.envelopedData
Class ExplicitAESEnvelopedDataDemo

java.lang.Object
  extended by demo.cms.envelopedData.ExplicitEnvelopedDataDemo
      extended by demo.cms.envelopedData.ExplicitAESEnvelopedDataDemo

public class ExplicitAESEnvelopedDataDemo
extends ExplicitEnvelopedDataDemo

Demonstrates the usage of class EnvelopedDataStream and EnvelopedData in explicit mode for encrypting data using the CMS type EnvelopedData with the AES cipher algorithm. The encrypted data is not included in the EncryptedContentInfo (transferred by other means).
AES is used for both content encryption (according to RFC 3565) and content encryption key wrapping (according to RFC 3394).

This demo creates an EnvelopedData object and subsequently shows several ways that may be used for decrypting the content for some particular recipient.

Keys and certificates are retrieved from the demo KeyStore ("cms.keystore") which has to be located in your current working directory and may be created by running the SetupCMSKeyStore program.

See Also:
EnvelopedDataStream, EnvelopedData, RecipientInfo, KeyTransRecipientInfo, KeyAgreeRecipientInfo, KEKRecipientInfo

Constructor Summary
ExplicitAESEnvelopedDataDemo()
          Creates an AESEnvelopedDataDemo and setups the demo certificates.
 
Method Summary
static void main(java.lang.String[] argv)
          Main method.
 
Methods inherited from class demo.cms.envelopedData.ExplicitEnvelopedDataDemo
createEnvelopedData, createEnvelopedDataStream, createRecipients, getEnvelopedData, getEnvelopedData, getEnvelopedData, getEnvelopedDataStream, getEnvelopedDataStream, getEnvelopedDataStream, parseEnvelopedDataWithRecipientCertOrKEKId, parseEnvelopedDataWithRecipientIdentifier, parseEnvelopedDataWithRecipientInfoIndex, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExplicitAESEnvelopedDataDemo

public ExplicitAESEnvelopedDataDemo()
                             throws java.io.IOException,
                                    java.security.NoSuchAlgorithmException
Creates an AESEnvelopedDataDemo and setups the demo certificates.
Keys and certificates are retrieved from the demo KeyStore ("cms.keystore") file which has to be located in your current working directory and may be created by running SetupCMSKeyStore.
AES and AES KeyWrap are used for content encryption and content encryption key wrapping.

Throws:
java.io.IOException - if an file read error occurs
java.security.NoSuchAlgorithmException - if the requested algorithms are not supported
Method Detail

main

public static void main(java.lang.String[] argv)
                 throws java.lang.Exception
Main method.

Throws:
java.io.IOException - if an I/O error occurs when reading required keys and certificates from files
java.lang.Exception

IAIK CMS/SMIME Toolkit Demo API Documentation
Version 6.1

v6.1
(c) 2002 IAIK, (c) 2003 - 2025 SIC