Visual FoxPro
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
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