DataFlex
DataFlex
Select the S/MIME Encryption Algorithm
See more Email Object Examples
Demonstrates the Chilkat Email.Pkcs7CryptAlg property, which selects the underlying symmetric encryption algorithm used when an email is sent encrypted with PKCS#7 public-key (S/MIME) encryption. Possible values are aes, aes-gcm, des, 3des, and rc2; the default is aes. This example selects AES and pairs it with a 256-bit key length.
Background: S/MIME encryption is hybrid. The message body is encrypted with a fast symmetric algorithm (the one this property chooses, such as AES) using a randomly generated one-time key; then that one-time key is itself encrypted with each recipient's public key. This gives the speed of symmetric encryption with the key-distribution convenience of public-key cryptography. Modern choices like
aes are strongly preferred — older options such as des and rc2 are considered weak.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoEmail
String sTemp1
Integer iTemp1
// Demonstrates the Email.Pkcs7CryptAlg property, which selects the symmetric encryption
// algorithm used when an email is sent encrypted with PKCS#7 (S/MIME) public-key
// encryption. Possible values: aes, aes-gcm, des, 3des, rc2. The default is aes.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "Encrypted email"
Set ComBody Of hoEmail To "This message will be S/MIME encrypted when sent."
// Select AES with a 256-bit key for the symmetric encryption.
Set ComPkcs7CryptAlg Of hoEmail To "aes"
Set ComPkcs7KeyLength Of hoEmail To 256
Get ComPkcs7CryptAlg Of hoEmail To sTemp1
Showln "Pkcs7CryptAlg = " sTemp1
Get ComPkcs7KeyLength Of hoEmail To iTemp1
Showln "Pkcs7KeyLength = " iTemp1
End_Procedure