DataFlex
DataFlex
Get the Certificate an Email Was Encrypted By
See more Email Object Examples
Demonstrates the read-only Chilkat Email.EncryptedBy property. If the email was received encrypted, this property contains descriptive details of the certificate used for encryption. It is meaningful only when ReceivedEncrypted is true. To obtain a certificate object rather than descriptive text, use GetEncryptedByCert or LastDecryptCert. This example loads a received email and prints the encryption certificate details.
Background: In S/MIME encryption, the sender encrypts the message using the recipient's public-key certificate — a signed document that binds an identity (name and email) to a public key.
EncryptedBy reports which certificate was used, letting the recipient confirm the message was encrypted specifically for them. To work with the certificate programmatically (inspecting its subject, issuer, expiration, etc.), request the Cert object via GetEncryptedByCert.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoEmail
String sTemp1
Boolean bTemp1
Move False To iSuccess
// Demonstrates the Email.EncryptedBy property.
// If the email was received encrypted, EncryptedBy contains the details of
// the certificate used for encryption. It is only meaningful when
// ReceivedEncrypted is true.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Get ComLoadEml Of hoEmail "qa_data/eml/encrypted.eml" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoEmail To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComReceivedEncrypted Of hoEmail To bTemp1
If (bTemp1 = True) Begin
Get ComEncryptedBy Of hoEmail To sTemp1
Showln "Encrypted by: " sTemp1
End
Else Begin
Showln "This email was not received encrypted."
End
End_Procedure