Using the Abstract Class SmimeObject
6.3.3 Using the Oracle SMIME Classes
This section describes how to use the Oracle SMIME SDK to work with multi-part signed messages, create and open digital envelopes, and implement Enhanced Security Services ESS. It covers these topics: ■ Using the Abstract Class SmimeObject ■ Signing Messages ■ Creating MultipartSigned Entities ■ Creating Digital Envelopes ■ Creating Certificates-Only Messages ■ Reading Messages ■ Authenticating Signed Messages ■ Opening Digital Envelopes Encrypted Messages ■ Adding Enhanced Security Services ESS6.3.3.1 Using the Abstract Class SmimeObject
SmimeObject is an abstract class representing a fundamental SMIME message content entity. Subclasses of SmimeObject include : ■ SmimeSigned ■ SmimeEnveloped ■ SmimeMultipartSigned ■ SmimeSignedReceipt, and ■ SmimeCompressed One of the characteristics of SmimeObject implementations is that they know their own MIME type -- that is, they implement the generateContentType method. Table 6–1 Classes in the oracle.security.crypto.smime.ess Package Class Description ContentHints Content hints ContentReference Content reference EquivalentLabels ESS EquivalentLabels ESSSecurityLabel An ESS security label MLData Represents the MLData element which is used in the MLExpansionHistory attribute MLExpansionHistory Mailing list expansion history ReceiptRequest An ESS Receipt Request ReceiptRequest.AllOrFirstTier An AllOrFirstTier is a part of the ReceiptsFrom field of a ReceiptRequest SigningCertificate An ESS Signing Certificate Oracle SMIME 6-11 Thus, to place such an object inside a MIME message or body part, follow the same outline that was used in the SmimeSigned example: 1. Create the object. 2. Invoke generateContentType on the object to obtain a MIME type. 3. Pass the object, together with the generated content type, to the setContent method of a MimeMessage or MimeBodyPart object. The SmimeObject class provides another version of the generateContentType method, which takes a boolean parameter. When given true as a parameter, generateContentType behaves exactly as in the case of no argument. When given false as a parameter, generateContentType returns the older MIME types required by certain mail clients, including Netscape Communicator 4.0.4. Specifically: ■ applicationpkcs7-mime becomes applicationx-pkcs7-mime ■ applicationpkcs7-signature becomes applicationx-pkcs7-signature6.3.3.2 Signing Messages
Parts
» Oracle Fusion Middleware Online Documentation Library
» Symmetric Cryptographic Algorithms Asymmetric Cryptographic Algorithms
» Key Pairs Certificate Authority Digital Certificates Related PKI Standards
» SAML Request and Response Cycle
» Web Services Security Federation
» Toolkit Architecture Overview of Oracle Security Developer Tools
» Supported Standards Oracle Crypto Oracle Security Engine Oracle CMS
» Oracle PKI LDAP SDK Oracle PKI TSP SDK Oracle PKI OCSP SDK Oracle PKI CMP SDK
» Oracle SMIME Oracle XML Security Oracle SAML Oracle Web Services Security
» Oracle Liberty SDK Oracle XKMS
» Converting an Existing Key Object to a JCE Key Object
» The JCE Framework JCE Certificate Revocation Lists CRLs
» Working with standard KeyStore-type Wallets Working with PKCS12 and PKCS8 Wallets
» The RSA Cipher Password Based Encryption
» The oracle.security.crypto.core.MessageDigest Class The oracle.security.crypto.core.MAC Class
» Signatures Key Agreement Core Classes and Interfaces
» The oracle.security.crypto.cert.X500RDN Class The oracle.security.crypto.cert.X500Name Class
» The oracle.security.crypto.cert.CertificateRequest Class
» Abstract Base Class CMSContentInfo The CMSDataContentInfo Class
» The ESSReceipt Class The CMSDigestedDataContentInfo Class
» The CMSSignedDataContentInfo Class Constructing CMS Objects using the CMSContentInfo Classes
» The CMSEncryptedDataContentInfo Class Constructing CMS Objects using the CMSContentInfo Classes
» The CMSEnvelopedDataContentInfo Class Constructing CMS Objects using the CMSContentInfo Classes
» Using the CMSOutputStream and CMSInputStream Classes
» The oracle.security.crypto.smime.SmimeSigned Class
» The oracle.security.crypto.smime.SmimeSignedReceipt Class
» Using the Abstract Class SmimeObject
» Creating MultipartSigned Entities Creating Digital Envelopes
» Creating Certificates-Only Messages Reading Messages Authenticating Signed Messages
» Opening Digital Envelopes Encrypted Messages Adding Enhanced Security Services ESS
» System Requirements for Oracle PKI TSP SDK Setting the CLASSPATH Environment Variable
» The Oracle PKI LDAP SDK Java API Reference Example Programs
» Set Up Key Exchange Provide a Receiver Hint
» Construct the Wrapper Object Obtain the DOM Element from the Wrapper Object Parse Complex Elements
» Construct Complex Elements About Element Wrappers in the Oracle Security Developer Tools XML APIs
» Multiple References Enveloped Signature XPath Expression Certificate Hint Sign with HMAC Key
» Basic Procedure to Check What is Signed Set Up Callbacks
» Encrypt with a Shared Symmetric Key Encrypt with a Random Symmetric Key
» Core Classes Classes and Interfaces
» Oracle SAML 2.0 Packages The Oracle SAML 2.0 Java API Reference Example Programs
» Element Wrappers Classes and Interfaces
» Creating an X509 Token Creating a Kerberos Token
» Signing SOAP Messages Signing and Verifying
» Verifying SOAP Messages Signing and Verifying
» Encrypting SOAP messages with EncryptedKey
» Supporting Classes and Interfaces
» The Oracle Liberty SDK 1.2 API Reference Example Programs
» oracle.security.xmlsec.xkms.xkiss.LocateRequest oracle.security.xmlsec.xkms.xkiss.LocateResult
» oracle.security.xmlsec.xkms.xkiss.ValidateRequest oracle.security.xmlsec.xkms.xkiss.ValidateResult
Show more