DataFlex
DataFlex
Set the S/MIME Encryption Key Length
See more Email Object Examples
Demonstrates the Chilkat Email.Pkcs7KeyLength property, which sets the key length of the symmetric algorithm used for PKCS#7 (S/MIME) encryption. The allowed values depend on Pkcs7CryptAlg: for aes use 128, 192, or 256; for 3des use 192; for des use 40; for rc2 use 40, 56, 64, or 128. The default is 128, and an unsupported algorithm/key-length combination causes encryption to fail. This example pairs AES with a 192-bit key.
Background: Key length is the size, in bits, of the secret key a symmetric cipher uses — a longer key means exponentially more possible keys and thus more resistance to brute-force attack. But length is only meaningful within a given algorithm: AES-128 is already very strong, and a key size must be one the chosen cipher actually supports, which is why
Pkcs7KeyLength and Pkcs7CryptAlg have to agree.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoEmail
String sTemp1
Integer iTemp1
// Demonstrates the Email.Pkcs7KeyLength property, which sets the key length (in bits)
// of the symmetric algorithm used for PKCS#7 (S/MIME) encryption. The allowed values
// depend on Pkcs7CryptAlg; for aes they are 128, 192, or 256. The default is 128.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComPkcs7CryptAlg Of hoEmail To "aes"
Set ComPkcs7KeyLength Of hoEmail To 192
Get ComPkcs7CryptAlg Of hoEmail To sTemp1
Showln "Pkcs7CryptAlg = " sTemp1
Get ComPkcs7KeyLength Of hoEmail To iTemp1
Showln "Pkcs7KeyLength = " iTemp1
End_Procedure