FoxPro Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Email Object
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
FileAccess
Bzip2
LZW
Icon

 

Non-Chilkat Links
Text and String Handling

Verify S/MIME Signature

Visual FoxPro example to verify an S/MIME signature and unwrap the S/MIME to get the original MIME prior to signing/encrypting.

LOCAL loMime
LOCAL lnSuccess
LOCAL lnIsEncrypted
LOCAL lnIsSigned
LOCAL loSignerCert
LOCAL loEncryptCert

loMime = CreateObject('Chilkat.Mime')

*  Any string argument automatically begins the 30-day trial.

lnSuccess = loMime.UnlockComponent("30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX("MIME component unlock failed")
    QUIT
ENDIF

*  Load an S/MIME message from a file:
lnSuccess = loMime.LoadMimeFile("signedMime.txt")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loMime.LastErrorText)
    QUIT
ENDIF

*  The ContainsEncryptedParts/ContainsSignedParts methods
*  can be called to determine if the MIME is encrypted and/or signed:

lnIsEncrypted = loMime.ContainsEncryptedParts()

lnIsSigned = loMime.ContainsSignedParts()

*  We don't want the "unwrap extras".  You'll see what those
*  are in a few moments...
loMime.UnwrapExtras = 0

*  To verify the signature, call UnwrapSecurity.  This will
*  verify the signature(s) and decrypt the S/MIME and restore
*  the MIME to the unsigned/unencrypted state.
*  The results of what was found are present in the MIME object's
*  properties, as well as extra header fields that are added
*  to the unwrapped MIME.
lnSuccess = loMime.UnwrapSecurity()
IF (lnSuccess <> 1) THEN
    *  UnwrapSecurity returns _TRUE_ if all signatures were
    *  verified and all parts decrypted.
    =MESSAGEBOX(loMime.LastErrorText)
    QUIT
ENDIF

*  The mime.UnwrapExtras property controls whether or not
*  these additional fields are added to the unwrapped MIME:
* 
*  X-NumPartsSigned: 1
*  X-SignaturesValid: yes
*  X-NumPartsEncrypted: 1
*  X-Decrypted: no
* 
*  The X-NumPartsSigned/X-SignaturesValid headers are added
*  if the MIME was signed.
* 
*  The X-NumPartsEncrypted/X-Decrypted headers are added
*  if the MIME was encrypted.
* 

*  If the MIME was signed, get the certificate used for signing.
IF (lnIsSigned = 1) THEN
    *  The NumSignerCerts property indicates how many certificates
    *  were used for signing.  This example will assume the value is 1.
    *  To get the 1st signer cert, call GetSignerCert with an index of 0:

    loSignerCert = loMime.GetSignerCert(0)
    IF (NOT (loSignerCert = NULL )) THEN
        ? "**** Signer Cert: " + loSignerCert.SubjectCN
    ENDIF

ENDIF

*  If the MIME was encrypted, get the certificate used for encryption:
IF (lnIsEncrypted = 1) THEN
    *  The NumEncryptCerts property indicates how many certificates
    *  were used for encrypting.  This example will assume the value is 1.
    *  To get the 1st encrypt cert, call GetEncryptCert with an index of 0:

    loEncryptCert = loMime.GetEncryptCert(0)
    IF (NOT (loEncryptCert = NULL )) THEN
        ? "**** Encrypt Cert: " + loEncryptCert.SubjectCN
    ENDIF

ENDIF

*  Display the unwrapped MIME:
? loMime.GetMime()

*  Save the unwrapped MIME to a file:
loMime.SaveMime("unwrappedMime.txt")


Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · ASP Mail Component · XML Parser