Sample code for 30+ languages & platforms
Visual FoxPro

Extract PKCS7 from MIME and Decrypt

See more MIME Examples

Extracts the base64-encoded PKCS7 body of a MIME message to a file, and then decrypts using Chilkat Crypt2.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMime
LOCAL loCrypt
LOCAL lcInPath
LOCAL lcOutPath

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loMime = CreateObject('Chilkat.Mime')

lnSuccess = loMime.LoadMimeFile("c:/aaworkarea/EmailInBytes.txt")
IF (lnSuccess <> 1) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    CANCEL
ENDIF

lnSuccess = loMime.SaveBody("c:/aaworkarea/smime.p7m")
IF (lnSuccess <> 1) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    CANCEL
ENDIF

loCrypt = CreateObject('Chilkat.Crypt2')

lnSuccess = loCrypt.AddPfxSourceFile("c:/aaworkarea/my.pfx","pfxPassword")
IF (lnSuccess = 0) THEN
    ? loCrypt.LastErrorText
    RELEASE loMime
    RELEASE loCrypt
    CANCEL
ENDIF

* Indicate the public-key (PKCS7) encryption/decryption should be used:
loCrypt.CryptAlgorithm = "pki"

lcInPath = "c:/aaworkarea/smime.p7m"
lcOutPath = "c:/aaworkarea/decrypted.dat"

lnSuccess = loCrypt.CkDecryptFile(lcInPath,lcOutPath)
IF (lnSuccess = 0) THEN
    ? loCrypt.LastErrorText
    RELEASE loMime
    RELEASE loCrypt
    CANCEL
ENDIF

? "Success."

RELEASE loMime
RELEASE loCrypt