Pesan AS2
Topik ini menjelaskan pesan AS2, termasuk strukturnya, properti konteksnya, dan header-nya.
Di BizTalk Server, pesan AS2 disusun sesuai dengan RFC 4130, "Pertukaran Data Bisnis Peer-to-Peer Aman Berbasis MIME Menggunakan HTTP, Pernyataan Penerapan 2 (AS2) (https://go.microsoft.com/fwlink/?LinkID=184212).
Struktur dasar pesan AS2 terdiri dari format MIME di dalam pesan HTTP dengan header khusus AS2 tambahan. Sifat pesan di bawah header HTTP, AS2, dan MIME tergantung pada jenis pesan:
Ditandatangani – Jika pesan ditandatangani, pembungkus tanda tangan ditambahkan di sekitar payload dokumen.
Terkompresi - Jika pesan dikompresi, pembungkus kompresi ditambahkan di sekitar payload dokumen dan tanda tangan.
Terenkripsi – Jika pesan dienkripsi, pembungkus enkripsi ditambahkan di sekitar payload dokumen, tanda tangan, dan kompresi.
Struktur pesan pesan pesan AS2, berdasarkan enkripsi, tanda tangan, dan pemadatan diperlihatkan dalam tabel di bawah ini.
Opsi Pesan AS2 | Struktur Pesan |
---|---|
- Tidak ada pemadatan - Tidak ada enkripsi - Tidak ada tanda tangan |
HTTP, AS2, MIME Header EDI/XML Payload |
-Dikompresi - Tidak ada enkripsi - Tidak ada tanda tangan |
HTTP, AS2, MIME Header PKCS7-MIME Compression EDI/XML Payload (compressed) |
-Ditandatangani - Tidak ada pemadatan - Tidak ada enkripsi |
HTTP, AS2, MIME Header MIME Security Multipart (signed) EDI/XML Payload CMS-PKCS7 Signature |
-Ditandatangani -Dikompresi - Tidak ada enkripsi |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Security Multipart (signed)(compressed) EDI/XML Payload (compressed) CMS-PKCS7 Signature (compressed) |
-Dienkripsi - Tidak ada pemadatan - Tidak ada tanda tangan |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption EDI/XML Payload (encrypted) |
-Dikompresi -Dienkripsi - Tidak ada tanda tangan |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) EDI/XML Payload (compressed)(encrypted) |
-Dienkripsi -Ditandatangani - Tidak ada pemadatan |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Security Multiparts (signed)(encrypted) EDI/XML Payload (encrypted) CMS-PKCS7 Signature (encrypted) |
-Dikompresi -Dienkripsi -Ditandatangani |
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) |
Jika payload dokumen terdiri dari beberapa dokumen, mereka disimpan dalam amplop MIME multibanyak/terkait seperti yang dijelaskan dalam RFC 2387. Header MIME Content-Disposition dapat digunakan untuk menentukan nama file setiap dokumen dalam pesan.
Tabel berikut ini memperlihatkan struktur pesan pesan AS2 yang berisi beberapa lampiran, berdasarkan opsi enkripsi, tanda tangan, dan pemadatan pesan.
Opsi Pesan AS2 | Struktur Pesan |
---|---|
- Tidak ada pemadatan - Tidak ada enkripsi - Tidak ada tanda tangan |
HTTP, AS2, MIME Header MIME Multipart/related EDI/XML Payloads |
-Dikompresi - Tidak ada enkripsi - Tidak ada tanda tangan |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Multipart/related EDI/XML Payload (compressed) |
-Ditandatangani - Tidak ada pemadatan - Tidak ada tanda tangan |
HTTP, AS2, MIME Header MIME Security Multipart (signed) MIME Multipart/related EDI/XML Payload CMS-PKCS7 Signature |
-Dikompresi -Ditandatangani - Tidak ada enkripsi |
HTTP, AS2, MIME Header PKCS7-MIME Compression MIME Security Multipart (signed)(compressed) MIME Multipart/related (compressed) EDI/XML Payload (compressed) CMS-PKCS7 Signature (compressed) |
-Enkripsi - Tidak ada pemadatan - Tidak ada tanda tangan |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Multipart/related (encrypted) EDI/XML Payload (encrypted) |
-Dikompresi -Dienkripsi - Tidak ada tanda tangan |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption PKCS7-MIME Compression (encrypted) MIME Multipart/related EDI/XML Payload (compressed)(encrypted) |
-Dienkripsi -Ditandatangani - Tidak ada pemadatan |
HTTP, AS2, MIME Header CMS-PKCS7 MIME Encryption MIME Security Multiparts (signed)(encrypted) MIME Multipart/related EDI/XML Payload (encrypted) CMS-PKCS7 Signature (encrypted) |
-Dikompresi -Dienkripsi -Ditandatangani |
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) |
Properti konteks yang digunakan dalam memproses pesan AS2 mencakup properti yang dapat dipromosikan serta properti yang tidak diekspos secara publik, tetapi dapat dilihat dalam pesan yang ditangguhkan dan dilacak. Untuk daftar properti konteks AS2, lihat Properti Konteks AS2.
Header AS2 dalam pesan AS2 menjelaskan pihak penerima dan pengirim, dan memberikan informasi bahwa pihak penerima perlu mengirim respons MDN. Pihak penerima akan menggunakan header MDN kecuali pengaturan Gunakan perjanjian untuk validasi dan MDN alih-alih properti header pesan dipilih dalam perjanjian AS2, atau jika informasi tidak tersedia di properti perjanjian.
Header AS2-From, header AS2-To, dan properti konteks MessageID secara unik menjelaskan pesan AS2. Mereka juga digunakan untuk menghubungkan MDN dengan pesan AS2 yang diresponsnya.
Header ini tercantum (dalam urutan alfabet) dalam tabel berikut:
AS2 Header | Wajib/opsional | Nilai |
---|---|---|
AS2-Version | Opsional | "1.1" |
AS2-From | Diperlukan | Nama perusahaan yang mengirim pesan AS2. Nilai: string, ASCII yang dapat dicetak, panjang 1 hingga 128 karakter |
AS2-To | Diperlukan | Nama perusahaan tempat pesan AS2 dikirim. Nilai: string, ASCII yang dapat dicetak, panjang 1 hingga 128 karakter |
AS2-Text | Diperlukan | Teks (di header ini dalam pesan) Nilai: string, ASCII yang dapat dicetak, panjang 1 hingga 128 karakter |
Disposition-Notification-To | Diperlukan | Saat ada, berfungsi sebagai permintaan MDN untuk dikembalikan. Jika disertai dengan header opsi pengiriman tanda terima, maka itu adalah permintaan untuk MDN asinkron. Jika tidak, maka itu adalah permintaan untuk MDN sinkron. Ketika tidak ada, MDN tidak diperlukan. Nilai: alamat email yang harus ada. Namun, alamat tidak boleh digunakan untuk mengidentifikasi tempat mengembalikan MDN. Aplikasi penerima harus mengabaikan alamat surat dan tidak boleh mengeluh tentang pelanggaran sintaks alamat. |
EDIINT-Features | Diperlukan | Menunjukkan fitur yang didukung oleh sistem asal. BizTalk menggunakan header ini untuk menunjukkan dukungan untuk beberapa lampiran. Nilai: "MA" |
Opsi Pengiriman Tanda Terima | Diperlukan | Menunjukkan URL tempat MDN harus dikirim. Ketika Receipt-Delivery-Option ada, Disposition-notification-to berfungsi sebagai permintaan untuk MDN asinkron. Opsi Pengiriman Tanda Terima harus selalu disertai dengan Disposition-Notification-To. Ketika Receipt-Delivery-Option tidak ada, dan Disposition-notification-to ada, Disposition-notification-to berfungsi sebagai permintaan untuk MDN sinkron. Nilai: string URL. |
signed-receipt-protocol (dalam Disposition-Notification-Options) |
Opsional | Ketika diatur ke "pcks7-signature", digunakan untuk meminta tanda terima yang ditandatangani dari pihak penerima, dan menunjukkan format di mana tanda terima yang ditandatangani harus dikembalikan ke pemohon. Nilai: opsional, pcks7-signature |
signed-receipt-micalg (dalam Disposition-Notification-Options) |
Opsional | Daftar algoritma MIC yang disukai oleh pemohon untuk digunakan dalam menandatangani tanda terima yang dikembalikan. Daftar algoritma MIC harus dihormati oleh pihak penerima dari kiri ke kanan. Nilai: opsional, MD5 atau SHA1 |
Untuk pesan masuk, alur penerimaan AS2EdiReceive dan AS2Receive memvalidasi nilai Signed Receipt Protocol dan Signed Receipt MIC Algorithm dari properti perjanjian AS2.
Untuk pesan AS2 keluar, alur pengiriman AS2EdiSend dan AS2Send mengisi header AS2 di atas dari nilai yang dimasukkan dalam perjanjian AS2 (dengan pengecualian Versi AS2, yang dikodekan secara permanen sebagai 1.1).
Permintaan MDN
Permintaan agar pihak penerima mengembalikan MDN (Pemberitahuan Disposisi Pesan) dibuat dengan menempatkan header berikut dalam pesan yang akan dikirim:
MDN-request-header = "Disposition-notification-to" ":" mail-address
Alamat email tidak digunakan untuk mengidentifikasi tempat mengembalikan MDN. Menerima aplikasi harus mengabaikan nilai, dan tidak memposting kesalahan tentang pelanggaran sintaks alamat.