Sample code for 30+ languages & platforms
Xbase++

Decrypt a .p7m File (using a PFX)

See more Encryption Examples

_LANGUAGE_ sample code showing how to decrypt a .p7m using a .p12 / .pfx certificate w/ private key.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oCrypt
LOCAL cPfxPath
LOCAL cPfxPassword
LOCAL cInPath
LOCAL cOutPath

nSuccess := 0

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

oCrypt := CreateObject("Chilkat.Crypt2")

//  Use a digital certificate and private key from a PFX file (.pfx or .p12).
cPfxPath := "myCertAndKey.pfx"
cPfxPassword := "test123"

nSuccess := oCrypt:AddPfxSourceFile(cPfxPath, cPfxPassword)
IF (nSuccess != 1)
    ? oCrypt:LastErrorText
    oCrypt:destroy()
    RETURN
ENDIF

//  Set the  outPath to whatever is appropriate.
//  If you are decrypting a PDF, your output might be "out.pdf"...
cInPath := "smime.p7m"
cOutPath := "original.txt"

//  Indicate that we're doing public key decryption (i.e. PKCS7)
oCrypt:CryptAlgorithm := "pki"

nSuccess := oCrypt:CkDecryptFile(cInPath, cOutPath)
IF (nSuccess == 0)
    ? oCrypt:LastErrorText
    oCrypt:destroy()
    RETURN
ENDIF

? "Success."

oCrypt:destroy()