Skip to content
Philip Helger edited this page Feb 23, 2023 · 4 revisions

AS2 is an open protocol for secure and reliable message exchange. AS2 can send any payload and is not limited in any specific format.

Effectively AS2 uses the MIME message container to send different messages parts over HTTP or HTTPS connections.

It uses X.509 certificates for signing and encrypting messages if needed. The AS2 specifications foresee all possible permutations (signed and encrypted, just signed, just encrypted, neither signed nor encrypted). X.509 certificates are kept in so called Key Stores. A Key Store can be thought of like a ZIP file - it contains many different entries that can be accessed by an so called Alias. Entries contained in a key store may be private keys (don't share), public certificates (usually sharable) and certificate requests (unfinished private keys, don't share). If a Key store only contains public certificates, it is usually called Trust Store. Common Key Store formats are PKCS12 and JKS (obsoleted). PKCS12 is the recommended format.

For transport level acknowledgments the so called MDN is used. Two versions are available:

  • Synchronous MDN - the MDN is returned as of the HTTP response to the AS2 request
  • Asynchronous MDN - the MDN is returned in a separate HTTP request from the receiver of the original request. This is more difficult as the exchange URL needs to be provided additionally and the correlation to the source message may be more difficult.

The connection details are grouped in so called Partnerships. Each Partnership consists of exactly two Partners and the exchange parameters they want to use between each other. Each Partner is identified by a unique ID. This Partner ID is also used as the Alias into the Key Store.

Specifications

AS2 is a transport protocol specified in RFC 4130 plus Errata.

AS2 version 1.1 adding compression is specified in RFC 5402 plus Errata.

The MDN is specified in RFC 3798 plus Errata.

Algorithm names are defined in RFC 5751 (S/MIME 3.2) plus Errata. This supersedes RFC 3851 (S/MIME 3.1).

Glossary

Term Description Comment
AS2 Applicability Statement 2
CTE Content Transfer Encoding Specific HTTP header that defines how a MIME part is encoded
JKS Java Key Store An old Java-specific key store format. Has been superseded by PKCS12
MDN Message Disposition Notification The transport level acknowledgement of AS2
Clone this wiki locally