Sample code for 30+ languages & platforms
Visual FoxPro

PKCS7 Decrypt Using .pfx or .p12 Data

See more MIME Examples

Demonstrates how to decrypt MIME using a specifc PFX file (.pfx or .p12) for the source of certificate(s) and private key(s).

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMime
LOCAL loPfxData
LOCAL loFac
LOCAL lcPfxPassword

lnSuccess = 0

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

loMime = CreateObject('Chilkat.Mime')

* Load the MIME
lnSuccess = loMime.LoadMimeFile("encrypted.mim")
IF (lnSuccess = 0) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    CANCEL
ENDIF

loFac = CreateObject('Chilkat.FileAccess')
loPfxData = loFac.ReadEntireFile("pfxStore/myPkcs12.p12")
IF (loFac.LastMethodSuccess <> 1) THEN
    ? loFac.LastErrorText
    RELEASE loMime
    RELEASE loFac
    CANCEL
ENDIF

lcPfxPassword = "myPassword"
lnSuccess = loMime.DecryptUsingPfxData(loPfxData,lcPfxPassword)
IF (lnSuccess = 0) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    RELEASE loFac
    CANCEL
ENDIF

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

* Note: The MIME to be decrypted should look something like this
* when viewed in a text editor:
* (Note that the Content-Type is application/x-pkcs7-mime)

* Content-Disposition: attachment; filename="smime.p7m"
* Content-Transfer-Encoding: base64
* Content-Type: application/x-pkcs7-mime;
*  name="smime.p7m"
* 
* MIICRAYJKoZIhvcNAQcDoIICNTCCAjECAQAxggHIMIIBxAIBADCBqzCBlTELMAkGA1UEBhMCVVMx
* CzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJU
* UlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMT
* FFVUTi1VU0VSRmlyc3QtT2JqZWN0AhEA5vxolKNrYgp1Z7ABICdK+zANBgkqhkiG9w0BAQEFAASC
* AQAJ68jTh3u3ovsOuz1aHXTV90GBB6DMfCdx0bZ85trSvDXBevMOtQdctz653de8EB2xU4RlaPQa
* oBpF8G01PMaKezd+FGLbhm7gmKl7boej3BboUzM4wrwjc8qHTGc/haT1ZA3jUU3DR4emVXNmRgWc
* FDU5Dnkf+Z2YXQop9wPCf1Ng+8LLjBX9yxgXP1ZyFDe9vUnSkk2fmZatEY2Y6eWHNbrj6q4F40qN
* PAyZW1rJSFmKTSPSzv7S0VWBMh+FgUKtqk4I6/+zhneLYeJBZFskmMIGFpgKdgrN7vbbr1a2gv/M
* PbHUxwKMD4KZ2auyuGKMVLBOm+n8v5f8EegloL/UMGAGCSqGSIb3DQEHATAZBggqhkiG9w0DAjAN
* AgE6BAgcohHNLdl9FoA4q22x8vXs05wuScRgLhwMOzvdGQkBJx+6iQDBuoCVxF8sQ35g+0PPxN3M
* 6Zw6nI1gSIIKBS3ZjtI=

RELEASE loMime
RELEASE loFac