Framework EDI Reference. Methods and Properties
mailMessage. PrepareMultipartEncrypted

Encrypts the message to a Mulitpart/Encrypted message.

Syntax:

Returns:

Returns 1 if the operation is successful; otherwise returns 0 if the operation fails.

Remarks:

The entire message - header and body - is encrypted, and the resulting encrypted data is saved.  The entire message is then erased to be replaced with new data.  The following new set of headers replace the old set:

Additionally, exactly 2 body parts are created in the following order:

  1. The Control body part.  This has the control information to allow decryption of the encrypted data.  The key used to encrypt the message is stored in the body.  The key itself is encrypted.  A single header is added:
    • Content-Type: application/x-encrypted
  2. The Encrypted body part.  This has the resulting encrypted data of the message, which is stored in the body of this body part.  A single header is added:

For alternate security settings, apply different parameters on the ediSecurity object that can be accessed using the GetSecurity method.

Example:

Dim oEdiDoc As Fredi.ediDocument
Dim oMailDocument As Fredi.mailDocument
Dim oMessage As Fredi.mailMessage
Dim oSecurity As Fredi.ediSecurity
Dim oSecurities As Fredi.ediSecurities

' Create instance of Framework EDI.
Set oEdiDoc = New Fredi.ediDocument

' Get securities.
Set oSecurities = oEdiDoc.GetSecurities

' Set the default certificate store
oSecurities.DefaultCertSystemStoreName = ksCertStoreName ' Case sensitive

' Set the default certificate store location
oSecurities.DefaultCertSystemStoreLocation = ksCertStoreLocation

' Get internet mail document object
Set oMailDocument = oEdiDoc.GetMailDocument

' Disable auto-processing so that message can be secure as is.
oMailDocument.Option(MailDocOpt_Auto) = 0

' Load the mail document
oMailDocument.Load App.Path & "\SampleMail.TXT"

' Get the message.
Set oMessage = oMailDocument.GetMessage

' Get the security, and specify certificate used to encrypt.
Set oSecurity = oMessage.GetSecurity
oSecurity.CertificateSubjectName = ksCertSubjectName

' Encrypt message.
oMessage.PrepareMultipartEncrypted

oMessage.Save App.Path & "\MultipartEncryptedOutput.TXT"

MsgBox "Done"

Sample

M_PrepareMultipartEncrypted.zip

See Also.

RFC 1847 - Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted