Messaggi AS2
In questo argomento viene descritto il messaggio AS2, compresa la struttura, le proprietà di contesto e le intestazioni.
In BizTalk Server, i messaggi AS2 sono strutturati in base a 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 struttura di base di un messaggio AS2 è costituita dal formato MIME all'interno di un messaggio HTTP con intestazioni aggiuntive specifiche di AS2. La natura del messaggio sotto le intestazioni HTTP, AS2 e MIME dipende dal tipo di messaggio:
Firmato : se il messaggio è firmato, viene aggiunto un wrapper di firma intorno al payload del documento.
Compresso : se il messaggio è compresso, viene aggiunto un wrapper di compressione intorno al documento e ai payload della firma.
Crittografato : se il messaggio è crittografato, viene aggiunto un wrapper di crittografia intorno al documento, alla firma e ai payload di compressione.
Nella tabella seguente è riportata la struttura di un messaggio AS2 sulla base della crittografia, della firma e della compressione.
Opzioni del messaggio AS2 | Struttura del messaggio |
---|---|
- Nessuna compressione - Nessuna crittografia - Nessuna firma |
HTTP, AS2, MIME Header EDI/XML Payload |
-Compressa - Nessuna crittografia - Nessuna firma |
HTTP, AS2, MIME Header PKCS7-MIME Compression EDI/XML Payload (compressed) |
-Firmato - Nessuna compressione - Nessuna crittografia |
HTTP, AS2, MIME Header MIME Security Multipart (signed) EDI/XML Payload CMS-PKCS7 Signature |
-Firmato -Compressa - Nessuna crittografia |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Security Multipart (signed)(compressed) EDI/XML Payload (compressed) CMS-PKCS7 Signature (compressed) |
-Crittografato - Nessuna compressione - Nessuna firma |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption EDI/XML Payload (encrypted) |
-Compressa -Crittografato - Nessuna firma |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) EDI/XML Payload (compressed)(encrypted) |
-Crittografato -Firmato - Nessuna compressione |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Security Multiparts (signed)(encrypted) EDI/XML Payload (encrypted) CMS-PKCS7 Signature (encrypted) |
-Compressa -Crittografato -Firmato |
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) |
Se il payload del documento è costituito da più documenti, questi vengono archiviati in una busta MIME multiparte o correlata, come descritto in RFC 2387. È possibile utilizzare un'intestazione MIME Content-Disposition per specificare il nome file di ciascun documento all'interno del messaggio.
Nella tabella seguente è riportata la struttura di un messaggio AS2 contenente più allegati, sulla base delle opzioni di crittografia, firma e compressione del messaggio.
Opzioni del messaggio AS2 | Struttura del messaggio |
---|---|
- Nessuna compressione - Nessuna crittografia - Nessuna firma |
HTTP, AS2, MIME Header MIME Multipart/related EDI/XML Payloads |
-Compressa - Nessuna crittografia - Nessuna firma |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Multipart/related EDI/XML Payload (compressed) |
-Firmato - Nessuna compressione - Nessuna firma |
HTTP, AS2, MIME Header MIME Security Multipart (signed) MIME Multipart/related EDI/XML Payload CMS-PKCS7 Signature |
-Compressa -Firmato - Nessuna crittografia |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Security Multipart (signed)(compressed) MIME Multipart/related (compressed) EDI/XML Payload (compressed) CMS-PKCS7 Signature (compressed) |
- Crittografia - Nessuna compressione - Nessuna firma |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Multipart/related (encrypted) EDI/XML Payload (encrypted) |
-Compressa -Crittografato - Nessuna firma |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) MIME Multipart/related EDI/XML Payload (compressed)(encrypted) |
-Crittografato -Firmato - Nessuna compressione |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Security Multiparts (signed)(encrypted) MIME Multipart/related EDI/XML Payload (encrypted) CMS-PKCS7 Signature (encrypted) |
-Compressa -Crittografato -Firmato |
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) |
Le proprietà di contesto utilizzate nell'elaborazione dei messaggi AS2 includono le proprietà che possono essere innalzate di livello e le proprietà che non sono esposte pubblicamente ma possono essere viste nei messaggi sospesi o rilevati. Per un elenco delle proprietà del contesto AS2, vedere Proprietà del contesto AS2.
Le intestazioni AS2 nei messaggi AS2 descrivono le entità di ricezione e trasmissione e forniscono le informazioni richieste dall'entità di ricezione per inviare una risposta MDN. La parte ricevente userà le intestazioni MDN a meno che non siano selezionate le impostazioni del contratto Use agreement for validation e MDN anziché la proprietà dell'intestazione del messaggio nel contratto AS2 o se le informazioni non sono disponibili nelle proprietà del contratto.
Le proprietà di contesto dell'intestazione AS2-From, AS2-To e MessageID descrivono in modo univoco un messaggio AS2. Vengono inoltre utilizzate per correlare un messaggio MDN al messaggio AS2 a cui si risponde.
Nella tabella seguente sono elencate le intestazioni in ordine alfabetico:
Intestazione AS2 | Obbligatorio/facoltativo | Valori |
---|---|---|
AS2-Version | Facoltativo | "1.1" |
AS2-From | Necessario | Nome della società che ha inviato il messaggio AS2. Valori: stringa, caratteri ASCII stampabili, lungo da 1 a 128 caratteri |
AS2-To | Necessario | Nome della società a cui è stato inviato il messaggio AS2. Valori: stringa, caratteri ASCII stampabili, lungo da 1 a 128 caratteri |
AS2-Text | Necessario | Testo (in questa intestazione nel messaggio) Valori: stringa, caratteri ASCII stampabili, lungo da 1 a 128 caratteri |
Disposition-Notification-To | Necessario | Se presente, serve da richiesta per la restituzione di un messaggio MDN. Se è accompagnata da un'intestazione receipt-delivery-option, serve da richiesta per un messaggio MDN asincrono. Altrimenti è una richiesta di un messaggio MDN sincrono. Se non è presente non è richiesto un messaggio MDN. Valore: un indirizzo di posta è necessario. Tuttavia, l'indirizzo non deve essere utilizzato per identificare dove restituire il messaggio MDN. L'applicazione di ricezione deve ignorare l'indirizzo di posta e non deve segnalare le violazioni della sintassi degli indirizzi. |
EDIINT-Features | Necessario | Indica le funzionalità supportate dal sistema di origine. BizTalk utilizza questa intestazione per indicare il supporto per più allegati. Valore: "MA" |
Receipt-Delivery-Option | Necessario | Indica l'URL a cui il messaggio MDN deve essere inviato. Se Receipt-Delivery-Option è presente, Disposition-notification-to serve da richiesta per un messaggio MDN asincrono. Receipt-Delivery-Option deve sempre essere accompagnata da Disposition-Notification-To. Se Receipt-Delivery-Option non è presente e Disposition-notification-to è presente, Disposition-notification-to serve da richiesta per un messaggio MDN sincrono. Valori: una stringa URL. |
signed-receipt-protocol in Disposition-Notification-Option |
Facoltativo | Se è impostata su "pcks7-signature", viene utilizzata per richiedere una ricezione firmata dall'entità di ricezione e indica il formato in cui la ricezione firmata deve essere restituita al richiedente. Valori: facoltativa, pcks7-signature |
signed-receipt-micalg in Disposition-Notification-Option |
Facoltativo | Elenco di algoritmi MIC preferiti dal richiedente per la firma della conferma restituita. L'elenco degli algoritmi MIC deve essere onorato dall'entità ricevente da sinistra a destra. Valori: facoltativa, MD5 o SHA1 |
Per i messaggi in ingresso, le pipeline di ricezione AS2EdiReceive e AS2Receive convalidano i valori del protocollo di ricezione firmato e dell'algoritmo MIC di ricezione firmato dalle proprietà dell'accordo AS2.
Per i messaggi AS2 in uscita, le pipeline di trasmissione AS2EdiSend e AS2Send popolano le precedenti intestazioni AS2 con i valori immessi nell'accordo AS2 (ad eccezione di AS2-Version che impostato a livello di codice su 1.1).
Richiesta di un messaggio MDN
La richiesta per l'entità di ricezione finché restituisca un messaggio MDN (Message Disposition Notification) viene eseguita inserendo la seguente intestazione nel messaggio da inviare:
MDN-request-header = "Disposition-notification-to" ":" mail-address
L'indirizzo di posta non viene utilizzato per identificare dove restituire il messaggio MDN. Le applicazioni di ricezione devono ignorare il valore e non segnalare errore per le violazioni della sintassi degli indirizzi.