Visual FoxPro
Visual FoxPro
Add a PFX Source from BinData
See more Email Object Examples
Demonstrates the Chilkat Email.AddPfxSourceBd method, which adds PFX data held in a BinData object to the list of certificate and private-key sources used during decryption or signing. The second argument is the PFX password. Call it before obtaining the encrypted email so Chilkat can decrypt it automatically. This example loads a PFX into a BinData, adds it, and then loads an encrypted email.
Background: This is the in-memory (
BinData) counterpart to AddPfxSourceFile. It is the right choice when the PFX bytes come from somewhere other than a file — a database, a secrets manager, or an HTTP download — letting you supply the certificate and private key without first writing them to disk (which is preferable for sensitive key material).Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loEmail
LOCAL loBdPfx
lnSuccess = 0
* Demonstrates the AddPfxSourceBd method, which adds PFX data (held in a BinData) to the
* list of certificate and private-key sources used during decryption or signing. The
* second argument is the PFX password. Call it before obtaining the encrypted email.
loEmail = CreateObject('Chilkat.Email')
* Load PFX data into a BinData object.
loBdPfx = CreateObject('Chilkat.BinData')
lnSuccess = loBdPfx.LoadFile("qa_data/certs/decryption.pfx")
IF (lnSuccess = 0) THEN
? loBdPfx.LastErrorText
RELEASE loEmail
RELEASE loBdPfx
CANCEL
ENDIF
* Add the PFX as a source of the certificate + private key.
lnSuccess = loEmail.AddPfxSourceBd(loBdPfx,"pfx_password")
IF (lnSuccess = 0) THEN
? loEmail.LastErrorText
RELEASE loEmail
RELEASE loBdPfx
CANCEL
ENDIF
* Load an encrypted email; Chilkat decrypts it using the PFX source.
lnSuccess = loEmail.LoadEml("qa_data/eml/encrypted.eml")
IF (lnSuccess = 0) THEN
? loEmail.LastErrorText
RELEASE loEmail
RELEASE loBdPfx
CANCEL
ENDIF
? "Decrypted = " + STR(loEmail.Decrypted)
* Note: Paths such as "qa_data/..." are relative local filesystem paths,
* relative to the current working directory of the running application.
RELEASE loEmail
RELEASE loBdPfx