Messages AS2
Cette rubrique décrit un message AS2, sa structure, ses propriétés de contexte et ses en-têtes.
Dans BizTalk Server, les messages AS2 sont structurés selon RFC 4130, « MIME-Based Secure Peer-to-Peer Business Data Interchange using HTTP, Applicability Statement 2 (AS2) (https://go.microsoft.com/fwlink/?LinkID=184212).
La structure élémentaire d'un message AS2 est au format MIME dans un message HTTP avec des en-têtes AS2 spécifiques supplémentaires. La nature du message sous les en-têtes HTTP, AS2 et MIME dépend du type du message :
Signé : si le message est signé, un wrapper de signature est ajouté autour de la charge utile du document.
Compressé : si le message est compressé, un wrapper de compression est ajouté autour des charges utiles du document et de la signature.
Chiffré : si le message est chiffré, un wrapper de chiffrement est ajouté autour des charges utiles du document, de la signature et de la compression.
La structure d'un message AS2, basé sur le chiffrement, la signature et la compression est indiquée dans le tableau ci-dessous.
Options de message AS2 | Structure de message |
---|---|
- Aucune compression - Aucun chiffrement - Aucune signature |
HTTP, AS2, MIME Header EDI/XML Payload |
-Comprimé - Aucun chiffrement - Aucune signature |
HTTP, AS2, MIME Header PKCS7-MIME Compression EDI/XML Payload (compressed) |
-Signé - Aucune compression - Aucun chiffrement |
HTTP, AS2, MIME Header MIME Security Multipart (signed) EDI/XML Payload CMS-PKCS7 Signature |
-Signé -Comprimé - Aucun chiffrement |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Security Multipart (signed)(compressed) EDI/XML Payload (compressed) CMS-PKCS7 Signature (compressed) |
– Chiffré - Aucune compression - Aucune signature |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption EDI/XML Payload (encrypted) |
-Comprimé – Chiffré - Aucune signature |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) EDI/XML Payload (compressed)(encrypted) |
– Chiffré -Signé - Aucune compression |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Security Multiparts (signed)(encrypted) EDI/XML Payload (encrypted) CMS-PKCS7 Signature (encrypted) |
-Comprimé – Chiffré -Signé |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) MIME Security Multiparts (signed)(compressed)(encrypted) EDI/XML Payload (compressed)(encrypted) CMS-PKCS7 Signature (compressed)(encrypted) |
Si la charge de document se compose de plusieurs documents, ils sont stockés dans une enveloppe à parties multiples/MIME comme décrit dans la RFC 2387. Un en-tête MIME à disposition de contenu peut être utilisé pour spécifier le nom de fichier de chaque document dans le message.
Le tableau suivant illustre la structure d'un message AS2 qui contient plusieurs pièces jointes, basé sur les options de chiffrement de message, de signature et de compression.
Options de message AS2 | Structure de message |
---|---|
- Aucune compression - Aucun chiffrement - Aucune signature |
HTTP, AS2, MIME Header MIME Multipart/related EDI/XML Payloads |
-Comprimé - Aucun chiffrement - Aucune signature |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Multipart/related EDI/XML Payload (compressed) |
-Signé - Aucune compression - Aucune signature |
HTTP, AS2, MIME Header MIME Security Multipart (signed) MIME Multipart/related EDI/XML Payload CMS-PKCS7 Signature |
-Comprimé -Signé - Aucun chiffrement |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Security Multipart (signed)(compressed) MIME Multipart/related (compressed) EDI/XML Payload (compressed) CMS-PKCS7 Signature (compressed) |
- Chiffrement - Aucune compression - Aucune signature |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Multipart/related (encrypted) EDI/XML Payload (encrypted) |
-Comprimé – Chiffré - Aucune signature |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) MIME Multipart/related EDI/XML Payload (compressed)(encrypted) |
– Chiffré -Signé - Aucune compression |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Security Multiparts (signed)(encrypted) MIME Multipart/related EDI/XML Payload (encrypted) CMS-PKCS7 Signature (encrypted) |
-Comprimé – Chiffré -Signé |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) MIME Security Multiparts (signed)(compressed)(encrypted) MIME Multipart/related EDI/XML Payload (compressed)(encrypted) CMS-PKCS7 Signature (compressed)(encrypted) |
Les propriétés de contexte utilisées pour traiter le message AS2 incluent les propriétés qui peuvent être promues et celles qui ne sont pas exposées publiquement, mais peuvent être vues dans les messages suspendus et suivis. Pour obtenir la liste des propriétés de contexte AS2, consultez Propriétés de contexte AS2.
Les en-têtes AS2 des messages AS2 décrivent les tiers destinataire et expéditeur et fournissent les informations nécessaires au tiers destinataire pour envoyer une réponse MDN. La partie réceptrice utilise les en-têtes MDN, sauf si la propriété Utiliser les paramètres du contrat pour la validation et MDN au lieu de l’en-tête de message est sélectionnée dans l’accord AS2, ou si les informations ne sont pas disponibles dans les propriétés du contrat.
Les en-têtes AS2-From et AS2-To et la propriété de contexte MessageID décrivent de façon unique un message AS2. Ils permettent également de mettre en corrélation un MDN et le message AS2 de réponse.
Les en-têtes sont répertoriés (dans l'ordre alphabétique) dans le tableau suivant :
En-tête AS2 | Obligatoire ou facultatif | Valeurs |
---|---|---|
AS2-Version | Facultatif | "1.1" |
AS2-From | Obligatoire | Nom de la société qui envoie le message AS2. Valeurs : chaîne, ASCII imprimable, de 1 à 128 caractères de long |
AS2-To | Obligatoire | Nom de la société à laquelle le message AS2 est envoyé. Valeurs : chaîne, ASCII imprimable, de 1 à 128 caractères de long |
Texte AS2 | Obligatoire | Texte (dans cet en-tête dans le message) Valeurs : chaîne, ASCII imprimable, de 1 à 128 caractères de long |
Disposition-Notification-To | Obligatoire | Le cas échéant, sert de requête pour un MDN à renvoyer. Si accompagné d'un en-tête receipt-delivery-option, il s'agit d'une requête pour un MDN asynchrone. Sinon, il s'agit d'une requête pour un MDN synchrone. En cas d'absence, aucun MDN n'est requis. Valeur : adresse de messagerie. L'adresse ne doit cependant pas être utilisée pour identifier où retourner le MDN. L'application destinataire doit ignorer l'adresse de messagerie et ne doit pas contester les violations de syntaxe d'adresse. |
EDIINT - Fonctionnalités | Obligatoire | Indique les fonctionnalités prises en charge par le système émetteur. BizTalk utilise cet en-tête pour indiquer la prise en charge de plusieurs pièces jointes. Valeur : “MA” |
Receipt-Delivery-Option | Obligatoire | Indique l'URL à laquelle le MDN doit être envoyé. En présence de Receipt-Delivery-Option, Disposition-notification-to sert de requête pour un MDN asynchrone. Receipt-Delivery-Option doit toujours être accompagné par Disposition-Notification-To. En l'absence de Receipt-Delivery-Option et en présence de Disposition-notification-to, Disposition-notification-to sert de requête pour un MDN synchrone. Valeurs : chaîne URL. |
signed-receipt-protocol (dans Disposition-Notification-Options) |
Facultatif | Défini sur « pcks7-signature », permet de demander un accusé de réception signé au tiers expéditeur et indique le format dans lequel l'accusé de réception signé doit être retourné au demandeur. Valeurs : facultatif, pcks7-signature |
signed-receipt-micalg (dans Disposition-Notification-Options) |
Facultatif | Liste des algorithmes MIC utilisés de préférence par le demandeur pour signer le reçu renvoyé. La liste des algorithmes MIC doit être respectée par le tiers destinataire de gauche à droite. Valeurs : facultatif, MD5 ou SHA1 |
Pour les messages entrants, les pipelines de réception AS2EdiReceive et AS2Receive valident les valeurs de l'algorithme Signed Receipt Protocol et Signed Receipt MIC à partir des propriétés de l'accord AS2.
Pour les messages AS2 sortants, les pipelines d'envoi AS2EdiSend et AS2Send complètent les en-têtes AS2 ci-dessus à partir des valeurs entrées dans l'accord AS2 (à l'exception de AS2-Version, codé en dur sous la forme 1.1).
Demande de MDN
La demande pour que le tiers destinataire retourne un MDN (Message Disposition Notification) est effectuée en plaçant l'en-tête suivant dans le message à envoyer :
MDN-request-header = « Disposition-notification-to » « : » mail-address
L'adresse de messagerie ne doit pas être utilisée pour identifier où retourner le MDN. Les applications destinataires doivent ignorer la valeur et ne pas publier d'erreur concernant les violations de syntaxe d'adresse.