Combining Compression and S/MIME Support
Apart from indicating the S/MIME security mechanism used, the Encapsulation element can also be used to represent the application of a compression algorithm.
The CompositeList element is required to be defined in the Packaging element when the security encapsulations or composite multiparts are used. The CompositeList child element specifies the way in which the simple parts are combined into groups or encapsulated within the security-related MIME content-types. The content model for the CompositeList element is a repeatable sequence of choices of Composite or Encapsulation elements. The sequence in which the Composite and Encapsulation elements are presented is important because the MIME packaging is done in a recursive way. In addition to the message parts characterized within the SimplePart subtree, the composites or encapsulations can also include any of the previously mentioned composites or encapsulations.
When you want to use a compression algorithm such as zip to compress some part of the payload prior to it being signed, encrypted, or signed and encrypted, set the TPA parameters for each of the ebXML payload attachment as follows.
To configure the ebXML Module for ZIP and S/MIME support
1. Start the Trading Networks Console.
2. Open the agreement for edit:
a. From the Trading Networks Console, select View > Agreements.
b. Select the agreement you would like to edit. ClickEdit.
The Agreements Details screen appears.
c. On the right side of the Agreement Details screen, click Set Inputs.
The input for com.wm.estd.ebxml.documents appears.
Note:
You can edit the TPA parameters in an agreement only if the Agreement Status is Proposed. For information about changing the TPA agreement status, see the webMethods Trading Networks Administrator’s Guide for your release.
4. Define Zip as the compression algorithm.
Parameter | Value |
CollaborationProtocolAgreement.Packaging.CompositeList.Encapsulation:id | comp_001 |
CollaborationProtocolAgreement.Packaging.CompositeList.Encapsulation:mimetype | application/zip |
5. Define the Constituent idref to the Simple Part with id c_001.
Parameter | Value |
CollaborationProtocolAgreement:Packaging:CompositeList.Encapsulation.Constituent:idref | c_001 |
6. Define S/MIME signature and encryption security feature to the payload.
Parameter | Value |
CollaborationProtocolAgreement.PartyInfo.CollaborationRole.ServiceBinding.CanSend.ThisPartyActionBinding.BusinessTransactionCharacteristics.isConfidential | persistent or transient-and-persistent to enable the S/MIME signing and encryption feature |
CollaborationProtocolAgreement.PartyInfo.DocExchange.ebXMLReceiverBinding.ReceiverDigitalEnvelope.DigitalEnvelopeProtocol:body | S/MIME |
CollaborationProtocolAgreement.PartyInfo.DocExchange.ebXMLReceiverBinding.ReceiverDigitalEnvelope.DigitalEnvelopeProtocol:version | 2.0 |
CollaborationProtocolAgreement.PartyInfo.DocExchange.ebXMLReceiverBinding.ReceiverDigitalEnvelope.EncryptionAlgorithm:body | tripleDES |
CollaborationProtocolAgreement.Packaging.CompositeList.Encapsulation:id | sig+enc_001 Note: The value of the CollaborationProtocolAgreement.Packaging.CompositeList.Composite.Constituent:idref parameter must refer to the value defined in this parameter. |
CollaborationProtocolAgreement.Packaging.CompositeList.Encapsulation:mimetype | application/pkcs7-mime |
CollaborationProtocolAgreement.Packaging.CompositeList.Encapsulation:mimeparameters | smime-type="signed-*encrypted-*" |
7. Point the Constituent idref to the Encapsulation id of the element where you defined the compression algorithm.
Parameter | Value |
CollaborationProtocolAgreement.Packaging.CompositeList.Encapsulation.Constituent:idref | comp_001 |
8. Point the idref of the Composite element to the id of the Encapsulation element that defines the S/MIME security feature.
Parameter | Value |
CollaborationProtocolAgreement.Packaging.CompositeList.Composite:id | zipAndSMIMEComposite |
CollaborationProtocolAgreement.Packaging.CompositeList.Composite.Constituent:idref | Sample-Envelope Note: This parameter value is set assuming that there is an entry in the SimplePart section of the TPA with an id Sample-Envelope, which represents the ebXML envelope. |
CollaborationProtocolAgreement.Packaging.CompositeList.Composite.Constituent:idref | sig+enc_001 |