譯自:https://dzone.com/articles/as...
公司的 B2B 系統要使用 AS2 這種古老的協議跟客戶作對接,主要面向國外客戶,國內基本上都是 FTP。網上關於 AS2 的文章和 github 上可用的輪子都很是少,因此我翻譯了一些 AS2 的文章供參考學習。
Applicability Statement 2或叫 AS2 協議規格書定義了一種在互聯網上傳輸商業數據的安全可靠的機制。git
AS2 協議自己並無限制 AS2 消息的內容。不過,AS2 的消息內容一般是結構化的商業文檔,例如發票,採購訂單等。因此 AS2 系統一般用來處理 EDI (電子數據交換)。EDI 的標準主要有:github
AS2 消息可以攜帶非 EDI 的內容,例如 XML, CSV, 文本或二進制文件。算法
MDN 是由接收方經過 AS2 協議簽發的電子收據。一般,接收方使用私鑰,生成 digital signature (數字簽名),數字簽名的生成主要基於 MIC (數據完整性校驗碼) 和其餘 AS2 屬性,例如 From/To AS2 ID, message ID 等。發送方收到 MDN 後校驗 MDN 中的 MIC 是否跟發送時計算出來的 MIC 相同 (計算 MIC 使用散列算法,例如 MD5, SHA),確認接收方是否成功接收到完整的消息。MDN 總會附帶 (接收方) 簽名,這樣雙方都不可否認這個電子收據。
MDN 並不意味着接收方商業夥伴成功處理了 AS2 消息文檔,僅僅說明 AS2 消息傳輸成功 (被商業夥伴接收)。安全
相比傳統的 B2B 協議,AS2 (在不借助專用設備,軟件或私有網絡的狀況下) 提供了一種安全,高效,易用的交易環境。AS2 優勢主要有:網絡
既然 AS2 協議運行在 HTTP 之上,所以消息很容易經過防火牆。AS2 還可以使用 SSL 加密技術或 HTTP 認證這些額外的安全措施。AS2 協議使用交易夥伴的數字證書 (中的公鑰) 加密消息內容,消息內容也附帶了 (已方私鑰簽署的) 電子簽名保證消息的完整性和不能否認性。經過接收方簽發的 MDN,發送方能夠確認 AS2 傳輸過程是否安全,內容是否被篡改。MDN 做爲 AS2 消息的一對一電子收據,在推動 B2B 貿易中扮演着重要的角色。學習