Sample code for 30+ languages & platforms
Visual FoxPro

Encrypt using Cert to produce -----BEGIN PKCS7----- ... -----END PKCS7-----

See more Encryption Examples

Demonstrates how to encrypt using a certificate to produce output such as:
-----BEGIN PKCS7-----
MIIHPwYJKoZIhvcNAQcEoIIHMDCCBywC ...
...
...
-----END PKCS7-----
The certificate to be used is not your own, but the certificate of the intended recipient of the message.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loCrypt
LOCAL loCert
LOCAL lcToBeEncrypted
LOCAL lcEncryptedStr
LOCAL loSb
LOCAL lcOutStr

lnSuccess = 0

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

loCrypt = CreateObject('Chilkat.Crypt2')

* Specify the encryption to be used.
* "pki" indicates "Public Key Infrastructure" and will create a PKCS7 encrypted (enveloped) message.
loCrypt.CryptAlgorithm = "pki"
loCrypt.Pkcs7CryptAlg = "aes"
loCrypt.KeyLength = 128
loCrypt.OaepHash = "sha256"
loCrypt.OaepPadding = 1

* A certificate is needed as the encryption key..
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.LoadFromFile("qa_data/certs/testCert.pem")
IF (lnSuccess <> 1) THEN
    ? loCert.LastErrorText
    RELEASE loCrypt
    RELEASE loCert
    CANCEL
ENDIF

* Tell the crypt object to use the certificate.
loCrypt.SetEncryptCert(loCert)

lcToBeEncrypted = "This string is to be encrypted."

* Get the result in multi-line BASE64 MIME format.
loCrypt.EncodingMode = "base64_mime"

lcEncryptedStr = loCrypt.EncryptStringENC(lcToBeEncrypted)
IF (lnSuccess <> 1) THEN
    ? loCrypt.LastErrorText
    RELEASE loCrypt
    RELEASE loCert
    CANCEL
ENDIF

* Make a "-----BEGIN PKCS7-----" ... "-----END PKCS7-----" sandwich...
loSb = CreateObject('Chilkat.StringBuilder')
loSb.AppendLine("-----BEGIN PKCS7-----",1)
loSb.Append(lcEncryptedStr)
loSb.AppendLine("-----END PKCS7-----",1)

lcOutStr = loSb.GetAsString()

? lcOutStr

* Sample output:

* -----BEGIN PKCS7-----
* MIICYQYJKoZIhvcNAQcDoIICUjCCAk4CAQAxggH5MIIB9QIBADCBsTCBmzELMAkGA1UEBhMCR0Ix
* GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
* Q09NT0RPIENBIExpbWl0ZWQxQTA/BgNVBAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRoZW50
* aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAuBl4qE2MODB05C5h53M5UDA4BgkqhkiG9w0B
* AQcwK6APMA0GCWCGSAFlAwQCAQUAoRgwFgYJKoZIhvcNAQEIMAkGBSsOAwIaBQAEggEAyZejlE37
* awl0bCWVbOCqf9yLSN17mZRamG8FHDh3nNu11G0+oyJtsPDEnSKsQig0V67MZ+hcWV+uf4ytcjyx
* H0gs5uex+LwkB+c3ZTOt18IYWFtRilg1HFy1ZN3t0D2QbxYy+i1TXOOwp3gAHL45vRCJ0FbKyQ36
* pKl0XLe+lRvp2EiJCKVjxtX8VcZOKT4xkG7yOARaCQceth6pA58Dg0yzAz7w4nD2UgAlNzrXG69X
* e+7e7yfBv47RRqFiQqDpCn+fM/PmFbUyqBppMwc64yP+fJek8VyJw2/UaXWWM4iSKSflk90tiHwf
* loEU3It4arnSv94fZQo0v129aBqpWzBMBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAECBBCohUgm5qX+
* TE6PxtPCmWi8gCBgbNg39emAB+AqLozm+vSLjZOGfg3M52gccKUJ8tg8XQ==
* -----END PKCS7-----

RELEASE loCrypt
RELEASE loCert
RELEASE loSb