Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
Unwrap S/MIME Security LayersDemonstrates how to unwrap the security layers of a signed and/or encrypted S/MIME message.
import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { int i; CkMime mime = new CkMime(); boolean success; success = mime.UnlockComponent("Anything for 30-day trial"); if (success == false) { System.out.println(mime.lastErrorText()); return; } // Note: Your S/MIME file may have a different file extension. success = mime.LoadMimeFile("smime.eml"); if (success == false) { System.out.println(mime.lastErrorText()); return; } // Unwrap any security layers so that the resultant MIME // is the original message before signing and/or encrypting // was applied. UnwrapSecurity returns true if // there was nothing to unwrap, or if all signatures were verified, // and all decryptions succeeded. success = mime.UnwrapSecurity(); if (success == false) { System.out.println(mime.lastErrorText()); return; } // Save the unwrapped S/MIME: success = mime.SaveMime("unwrapped.eml"); if (success == false) { System.out.println(mime.lastErrorText()); return; } // Let's see if the MIME was signed, and if so whether // the signature(s) were verified. Also, examine the certificate // used for signing. CkCert cert; // Unwrapping the security sets the NumSignerCerts property. // If it is non-zero, then signatures were unwrapped... System.out.println("Signer Certificates: "); int numSignerCerts; numSignerCerts = mime.get_NumSignerCerts(); if (numSignerCerts > 0) { for (i = 0; i <= numSignerCerts - 1; i++) { cert = mime.GetSignerCert(i); if (!(cert == null )) { // Show the cert's common name. System.out.println(cert.subjectCN()); } } } // Now check to see if anything was decrypted. System.out.println("Encryption Certificates: "); int numEncryptCerts; numEncryptCerts = mime.get_NumEncryptCerts(); if (numEncryptCerts > 0) { for (i = 0; i <= numEncryptCerts - 1; i++) { cert = mime.GetEncryptCert(i); if (!(cert == null )) { // Show the cert's common name. System.out.println(cert.subjectCN()); } } } } } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.