<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-petta-rfc4130bis-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>AS2 Specification Modernization</title>
    <seriesInfo name="Internet-Draft" value="draft-petta-rfc4130bis-02"/>
    <author fullname="Debra Petta">
      <organization>Drummond Group, LLC</organization>
      <address>
        <email>IETF-Activity@drummondgroup.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="12"/>
    <keyword>AS2</keyword>
    <keyword>EDIINT</keyword>
    <keyword>B2B</keyword>
    <abstract>
      <?line 63?>

<t>This document provides an applicability statement (RFC 2026, Section 3.2)
describing how to securely exchange structured business data over HTTP.
Structured business data may be XML; Electronic Data Interchange (EDI)
in either the American National Standards Committee (ANSI) X12 format or
the UN Electronic Data Interchange for Administration, Commerce, and
Transport (UN/EDIFACT) format; or other structured data formats. The data
is packaged using standard MIME structures. Authentication and data
confidentiality are obtained by using Cryptographic Message Syntax with
S/MIME security body parts (see <xref format="none" target="https-tls-reqs">Section 10.1</xref>).
Authenticated acknowledgements make use of multipart/signed
Message Disposition Notification (MDN) responses to the original HTTP message.
This applicability statement is informally referred to as "AS2" because
it is the second applicability statement, produced after "AS1" (RFC 3335).
This document obsoletes RFC 4130 and stands on its own without reference to AS1
or SMTP, except where required for IANA registry updates.</t>
      <t>This document also updates IANA registries originally created by RFC
3335 and RFC 4130.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://DrummondGroup.github.io/draft-petta-rfc4130bis/draft-petta-rfc4130bis.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-petta-rfc4130bis/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/DrummondGroup/draft-petta-rfc4130bis"/>.</t>
    </note>
  </front>
  <middle>
    <?line 84?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document is a revision ("bis") of RFC 4130, which defined the
Applicability Statement 2 (AS2) protocol for secure and reliable
transport of business data over HTTP. It obsoletes RFC 4130. The purpose
of this revision is to modernize the specification, clarify ambiguities,
and incorporate implementation experience gathered since the publication
of RFC 4130. Subsequent versions of this draft will refine these updates
based on discussion and consensus in the IETF community. This revision
also adheres to the principle of backward compatibility. Implementations
conformant with RFC 4130 remain valid under this specification, and no
breaking changes are introduced. In addition, this document updates
existing IANA registrations from RFC 3335 and RFC 4130. The specific
IANA actions are described in <xref format="none" target="iana-considerations">Section 11</xref>.</t>
      <t>Note to readers: Some contributors have suggested that this work could
eventually be split into two documents: a minimal RFC4130bis for errata and
clarifications, and a separate AS2 v2 specification with a clean
modern baseline. This document currently attempts to balance both
objectives within a single text, but further discussion may refine
the scope.</t>
      <section anchor="applicable-rfcs">
        <name>Applicable RFCs</name>
        <t>Previous work on Internet EDI focused on specifying MIME content types
for EDI data <xref target="RFC1767"/>. This document expands on RFC 1767 to specify a
comprehensive set of data security features, specifically data
confidentiality, data integrity/authenticity, non-repudiation of origin,
and non-repudiation of receipt over HTTP. This document recognizes
contemporary RFCs and avoids re-inventing mechanisms wherever possible.
Although this document focuses on EDI data, any other data types
describable in a MIME format are also supported.</t>
        <t>Internet MIME-based EDI can be accomplished by using and complying with
the following RFCs:</t>
        <artwork><![CDATA[
 o  RFC 2616 Hyper Text Transfer Protocol (baseline: HTTP/1.1)
 o  RFC 1767 EDI Content Type
 o  RFC 3023 XML Media Types
 o  RFC 1847 Security Multiparts for MIME
 o  RFC 3462 Multipart/Report
 o  RFC 2045 to 2049 MIME RFCs
 o  RFC 8098 Message Disposition Notification (updates RFC 3798)
 o  RFC 3851, 3852 S/MIME v3.1 Specification
 o  RFC 8551 S/MIME v4.0 (updated algorithm requirements including AES,
    AES-GCM, AES-CCM)
]]></artwork>
        <t>Our intent here is to define clearly and precisely how these are used
together, and what is required by user agents to be compliant with this
document. Implementers should note that HTTP/2 and HTTP/3 MAY be used
as transports, but are not required for interoperability.</t>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 <xref target="RFC2119"/> and <xref target="RFC8174"/> when, and only when, they appear in all
capitals, as shown here.</t>
      </section>
      <section anchor="backward-compatibility-and-interoperability">
        <name>Backward Compatibility and Interoperability</name>
        <t>A central design principle of this specification is "backward
compatibility" with RFC 4130 and with the underlying RFCs it references.
This specification does not redefine or override backward-compatibility
rules established in those RFCs. Implementations MUST rely on the
mechanisms provided in underlying standards.</t>
        <t>Consistent with the Robustness Principle ("be conservative in what you send and liberal in what you receive"),
this document clarifies requirements and aligns terminology but does not introduce breaking changes.
Implementations that conformed to RFC 4130 remain conformant to this specification. Any deviations
are limited to clarifications intended to improve interoperability.</t>
        <t>Implementations MAY interoperate using S/MIME Version 3.1 <xref target="RFC3852">RFC3851</xref>
with legacy trading partners, but conformant implementations MUST also
support S/MIME Version 4.0 <xref target="RFC8551"/> to meet the algorithm requirements
of this specification and ensure forward compatibility. These provisions ensure
smooth migration for existing deployments while establishing RFC 8551 as
the baseline for new implementations.</t>
        <t>This specification defines requirements for modern AS2 deployments
using contemporary cryptographic algorithms. It does not redefine or
extend the use of weak algorithms such as 3DES or SHA-1. When both
partners support this version of AS2, only modern algorithms are in
scope.</t>
        <t>When interoperability with RFC 4130 systems is required, implementers
SHOULD apply the clarifications provided in Appendix B (Legacy
Interoperability). Appendix B is non-normative and does not alter the
algorithm requirements defined in Section 7, but records expected
behavior when communicating with legacy systems.</t>
      </section>
      <section anchor="rationale">
        <name>Rationale</name>
        <t>The updates in this specification reflect community consensus to:</t>
        <artwork><![CDATA[
 o  Preserve backward compatibility with RFC 4130 and the underlying
    RFCs it references.
 o  Provide explicit guidance on which protocol versions form the
    interoperability baseline for certification and testing.
 o  Incorporate de facto updates already widely deployed (e.g., RFC 8098
    for MDNs, migration from SHA-1 to SHA-2 wherever possible).
 o  Document stronger security requirements while allowing
    backward-compatible fallback to enable phased adoption.
 o  Avoid unnecessary disruption by permitting, but not requiring,
    newer transport features such as HTTP/2, and by clarifying rather
    than redefining MDN behavior.
]]></artwork>
        <t>This approach reduces ambiguity, simplifies certification, and ensures
interoperability across implementations.</t>
      </section>
      <section anchor="terms">
        <name>Terms</name>
        <sourcecode type="text"><![CDATA[
   AS2:     Applicability Statement 2 (this document) and [RFC4130]; see RFC 2026
            [RFC2026], Section 3.2

   EDI:     Electronic Data Interchange

   EC:      Electronic Commerce (often referred to as Business to Business, B2B).

   B2B:     Business to Business

   Receipt: The functional message that is sent from a receiver to a
            sender to acknowledge that an EDI/EC interchange has been
            received. This message may be either synchronous or asynchronous
            in nature.

   Signed Receipt: A receipt with a digital signature.

   Synchronous Receipt: A receipt returned to the sender over the same
            TCP/IP connection as the sender's original message.

   Asynchronous Receipt: A receipt returned to the sender over a different
            TCP/IP connection than the sender's original message.

   Message Disposition Notification (MDN): The Internet messaging format
            used to convey a receipt. This term is used interchangeably
            with receipt. An MDN is a receipt.

   Non-repudiation of receipt (NRR): A "legal event" that occurs when
            the original sender of an signed EDI/EC interchange has
            verified the signed receipt coming back from the receiver.
            The receipt contains data identifying the original message
            for which it is a receipt, including the message-ID and a
            cryptographic hash (MIC). The original sender must retain
            suitable records providing evidence concerning the message
            content, its message-ID, and its hash value. The original
            sender verifies that the retained hash value is the same as
            the digest of the original message, as reported in the
            signed receipt. NRR is not considered a technical message,
            but instead is thought of as an outcome of possessing
            relevant evidence.

   S/MIME:  A format and protocol for adding cryptographic signature
            and/or encryption services to Internet MIME messages.

   Cryptographic Message Syntax (CMS): An encapsulation syntax used to
            digitally sign, digest, authenticate, or encrypt arbitrary
            messages.

   SHA-1:   A secure, one-way hash algorithm used in conjunction with
            digital signature. This algorithm is retained for backward
            compatibility but is deprecated in this specification.
            Implementations MUST support SHA-256 or stronger where possible,
            and SHOULD prefer these algorithms in production environments
            unless legacy partners cannot yet migrate to SHA-256 or stronger.

   MD5:     A secure, one-way hash algorithm used in conjunction with
            digital signature. This algorithm is obsolete and MUST NOT be generated
            by conformant implementations.

   MIC:     The Message Integrity Check (MIC) is a cryptographic method used
            to verify that a message has not been altered or tampered with during
            transmission or storage, ensuring the data is trustworthy and complete.
            It works by generating a unique hash value from the message's contents,
            which is then transmitted with the message. The recipient recalculates
            the hash on the received message and compares it to the provided MIC;
            if they don't match, the message is discarded, indicating it was modified.

   User Agent (UA): The application that handles and processes the AS2 request.
]]></sourcecode>
      </section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <section anchor="overall-operation">
        <name>Overall Operation</name>
        <t>An HTTP POST operation <xref target="RFC2616"/> is used to send appropriately packaged EDI,
   XML, or other business data. The Request-URI (<xref target="RFC2616"/>, Section 10.5)
   identifies a process for unpacking and handling the message data and
   for generating a reply for the client that contains a message
   disposition acknowledgement (MDN), either signed or unsigned. The
   MDN is either returned in the HTTP response message body or by a new
   HTTP POST operation to a URL for the original sender.</t>
        <t>This request/reply transactional interchange can provide secure,
   reliable, and authenticated transport for EDI or other business data
   using HTTP as a transfer protocol. HTTPS is RECOMMENDED as the default
   transport for new implementations (see <xref format="none" target="https-tls-reqs">Section 10.1</xref>).</t>
        <t>The security protocols and structures used also support auditable
   records of these document data transmissions, acknowledgements, and
   authentication.</t>
        <t>The message formats and processing requirements described below maintain
   strict backward compatibility (see <xref format="none" target="backward-compatibility-and-interoperability">Section 1.2</xref>).</t>
      </section>
      <section anchor="purpose-of-a-security-guideline-for-mime-edi">
        <name>Purpose of a Security Guideline for MIME EDI</name>
        <t>The purpose of these specifications is to ensure interoperability
   between B2B EC user agents, invoking some or all of the commonly
   expected security features.  This document is not limited to
   strict EDI use; it applies to any electronic commerce application for
   which business data needs to be exchanged securely over the Internet.</t>
      </section>
      <section anchor="definitions">
        <name>Definitions</name>
        <section anchor="the-secure-transmission-loop">
          <name>The Secure Transmission Loop</name>
          <t>This document's focus is on the formats and protocols for exchanging
   EDI/EC content securely in the Internet's HTTP environment.</t>
          <t>In the "secure transmission loop" for EDI/EC, one organization sends
   a signed, encrypted and compressed EDI/EC interchange to another organization
   and requests a signed receipt, and later the receiving organization sends
   this signed receipt back to the sending organization. In other words, the
   following transpires:</t>
          <artwork><![CDATA[
  o  The organization sending EDI/EC data signs, encrypts and compresses
     the data using S/MIME. In addition, the message will request that
     a signed receipt be returned to the sender. To support NRR,
     the original sender retains records of the message, message-ID,
     and digest (MIC) value.

  o  The receiving organization decompresses and decrypts the message and
     verifies the signature, resulting in verified integrity of the data and
     authenticity of the sender.

  o  The receiving organization then returns a signed receipt using
     the HTTP reply body or a separate HTTP POST operation to the
     sending organization in the form of a signed message
     disposition notification.  This signed receipt will contain the
     hash of the received message, allowing the original sender to
     have evidence that the received message was authenticated
     and/or decrypted properly by the receiver.
]]></artwork>
          <t>The above describes functionality that, if implemented, will satisfy
   all security requirements and implement non-repudiation of receipt
   for the exchange.  This specification, however, leaves full
   flexibility for users to decide the degree to which they want to
   deploy those security features with their trading partners.</t>
        </section>
        <section anchor="definition-of-receipts">
          <name>Definition of Receipts</name>
          <t>The term used for both the functional activity and the message for
   acknowledging delivery of an EDI/EC interchange is "receipt" or
   "signed receipt". The first term is used if the acknowledgment is
   for an interchange resulting in a receipt that is NOT signed. The
   second term is used if the acknowledgement is for an interchange
   resulting in a receipt that IS signed.</t>
          <t>The term non-repudiation of receipt (NRR) is often used in
   combination with receipts. NRR refers to a legal event that occurs
   only when the original sender of an interchange has verified the
   signed receipt coming back from the recipient of the message, and has
   verified that the returned MIC value inside the MDN matches the
   previously recorded value for the original message.</t>
          <t>NRR is best established when both the original message and the
   receipt make use of digital signatures. See the Security
   Considerations section for some cautions regarding NRR.
   For information on how to format and process receipts in AS2, refer
   to refer to <xref format="none" target="structure-and-processing-of-an-mdn-message">Section 8</xref>.</t>
        </section>
      </section>
      <section anchor="assumptions">
        <name>Assumptions</name>
        <section anchor="ediec-process-assumptions">
          <name>EDI/EC Process Assumptions</name>
          <t>o  Encrypted object is an EDI/EC Interchange.</t>
          <t>This specification assumes that a typical EDI/EC interchange (i.e., the payload)
   is the lowest-level object that will be subject to security services.</t>
          <t>Specifically, in EDI ANSI X12, this means that anything between and
   including, segments ISA and IEA is secured. In EDIFACT, this means
   that anything between, and including, segments UNA/UNB and UNZ is
   secured. In other words, the EDI/EC interchanges including envelope
   segments remain intact and unreadable during fully secured transport.</t>
          <t>o  EDI envelope headers are encrypted.</t>
          <t>Congruent with the above statement, EDI envelope headers are NOT
   visible in the MIME package.</t>
          <t>In order to optimize routing from existing commercial EDI networks
   (called Value Added Networks or VANs) to the Internet, it was previously
   useful to make some envelope information visible. Since the EDI/EC message exchanges
   are routed over the public internet and not over VANs, this
   specification provides no support for this optimization.</t>
          <t>o  X12.58 and UN/EDIFACT Security Considerations</t>
          <t>The most common EDI standards bodies, ANSI X12 and EDIFACT, have
   defined internal provisions for security. X12.58 is the security
   mechanism for ANSI X12, and AUTACK provides security for EDIFACT.
   This specification does NOT dictate use or non-use of these security
   standards. They are both fully compatible, though possibly
   redundant, with this specification.</t>
        </section>
        <section anchor="flexibility-assumptions">
          <name>Flexibility Assumptions</name>
          <t>o  Encrypted or Unencrypted Data</t>
          <t>This specification allows for EDI/EC message exchange in which the
   EDI/EC data can be either unprotected or protected by means of
   encryption.</t>
          <t>o  Signed or Unsigned Data</t>
          <t>This specification allows for EDI/EC message exchange with or without
   digital signature of the original EDI transmission.</t>
          <t>o  Compressed or Uncompressed Data</t>
          <t>This specification allows for optional compression and MAY be applied alone
  or in combination with signing and/or encryption, as defined in <xref target="RFC3274"/>.
  It is supported by AS2-Version: 1.1 and higher.</t>
          <t>o  Optional Use of Receipt</t>
          <t>This specification allows for EDI/EC message transmission with or
   without a request for receipt notification.  A signed receipt
   notification is requested; however, a MIC value is REQUIRED as part
   of the returned receipt, except when a severe error condition
   prevents computation of the digest value. In the exceptional case, a
   signed receipt should be returned with an error message that
   effectively explains why the required MIC value is absent.</t>
          <t>o  Use of Synchronous or Asynchronous Receipts</t>
          <t>In addition to a receipt request, this specification allows for the
   designation of the type of receipt that should be returned. It
   supports synchronous or asynchronous receipts in the MDN format
   specified in Section 8 of this document.</t>
          <t>o  Security Formatting</t>
          <t>This specification relies on the guidelines set forth in RFC
   3851/3852  <xref target="RFC3851"/> / <xref target="RFC3852"/> "S/MIME Version 3.1 Message Specification;
   Cryptographic Message Syntax" as well as RFC 8551 <xref target="RFC8551"/> "Secure/Multipurpose Internet
   Mail Extensions (S/MIME) Version 4.0" for modern implementations.</t>
          <t>o  Hash Function, Message Digest Choices</t>
          <t>When a signature is used, implementations MUST support SHA-256 and SHOULD
   support SHA-384 or stronger. SHA-1 MAY be supported for incoming messages
   for backward compatibility, but SHOULD NOT be generated for outgoing messages
   unless it is strictly required for interoperability. MD5 is obsolete
   and MUST NOT be generated by conformant implementations.</t>
          <t>o  Permutation Summary</t>
          <t>The optional use of compression, as defined in <xref target="RFC3274"/> was introduced in AS2-Version 1.1.
   Compression can be applied to the message payload before signing and/or encryption,
   reducing transmission size and improving efficiency. Most modern AS2 implementations
   support compression, and it can be used by itself or in combination with signing and encryption.</t>
          <t>The following summary therefore extends the original AS2 security permutations to include
   the additional possibilities created by the use of compression, resulting in a total of
   twenty-four security permutations.</t>
          <t>Without Compression (12 permutations)</t>
          <ol spacing="normal" type="1"><li>
              <t>Sender sends un-encrypted data and does NOT request a receipt.</t>
            </li>
            <li>
              <t>Sender sends un-encrypted data and requests an unsigned receipt.
Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends un-encrypted data and requests a signed receipt.
Receiver sends back the signed receipt.</t>
            </li>
            <li>
              <t>Sender sends encrypted data and does NOT request a receipt.</t>
            </li>
            <li>
              <t>Sender sends encrypted data and requests an unsigned receipt.
Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends encrypted data and requests a signed receipt.
Receiver sends back the signed receipt.</t>
            </li>
            <li>
              <t>Sender sends signed data and does NOT request a signed or
unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends signed data and requests an unsigned receipt.
Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends signed data and requests a signed receipt.
Receiver sends back the signed receipt.</t>
            </li>
            <li>
              <t>Sender sends encrypted and signed data and does NOT request a
signed or unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends encrypted and signed data and requests an unsigned
receipt.  Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends encrypted and signed data and requests a signed
receipt.  Receiver sends back the signed receipt.</t>
            </li>
          </ol>
          <t>With Compression (12 permutations)</t>
          <ol spacing="normal" type="1" start="13"><li>
              <t>Sender sends compressed data (not encrypted or signed) and does NOT request a receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed data and requests an unsigned receipt. Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed data and requests a signed receipt. Receiver sends back the signed receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed and encrypted data and does NOT request a receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed and encrypted data and requests an unsigned receipt. Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed and encrypted data and requests a signed receipt. Receiver sends back the signed receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed and signed data and does NOT request a signed or unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed and signed data and requests an unsigned receipt. Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed and signed data and requests a signed receipt. Receiver sends back the signed receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed, encrypted, and signed data and does NOT request a signed or unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed, encrypted, and signed data and requests an unsigned receipt. Receiver sends back the unsigned receipt.</t>
            </li>
            <li>
              <t>Sender sends compressed, encrypted, and signed data and requests a signed receipt. Receiver sends back the signed receipt.</t>
            </li>
          </ol>
          <t><strong>Key Notes</strong></t>
          <t>o Compression MAY be applied alone or in combination with signing and/or encryption, as defined in <xref target="RFC3274"/> and is supported
     by AS2-Version 1.1 and higher.</t>
          <t>o Users may choose any of these twenty-four possibilities, but only the final example (24), when compression, signing, encryption,
     and a signed receipt are all used, offers the full suite of security and efficiency features described in
    <xref format="none" target="the-secure-transmission-loop">Section 2.3.1</xref>, “The Secure Transmission Loop.”</t>
          <t>o As with the original permutations, the receipts may be either synchronous or asynchronous, and the choice does not change the nature of
     the secure transmission loop in support of NRR.</t>
        </section>
      </section>
    </section>
    <section anchor="referenced-rfcs-and-their-contributions">
      <name>Referenced RFCs and Their Contributions</name>
      <section anchor="rfc-2616-http-v11-rfc2616">
        <name>RFC 2616 HTTP v1.1 <xref target="RFC2616"/></name>
        <t>This document specifies how data is transferred using HTTP.</t>
      </section>
      <section anchor="rfc-1847-mime-security-multiparts-rfc1847">
        <name>RFC 1847 MIME Security Multiparts <xref target="RFC1847"/></name>
        <t>This document defines security multipart for MIME:
   multipart/encrypted and multipart/signed.</t>
      </section>
      <section anchor="rfc-3462-multipartreport-rfc3462">
        <name>RFC 3462 Multipart/Report <xref target="RFC3462"/></name>
        <t>This RFC defines the use of the multipart/report content type,
   something that the MDN RFC 3798 builds upon.</t>
      </section>
      <section anchor="rfc-1767-edi-content-rfc1767">
        <name>RFC 1767 EDI Content <xref target="RFC1767"/></name>
        <t>This RFC defines the use of content type "application" for ANSI X12
   (application/EDI-X12), EDIFACT (application/EDIFACT), and mutually
   defined EDI (application/EDI-Consent).</t>
      </section>
      <section anchor="rfc-2045-2046-and-2049-mime-rfc2045-rfc2046-and-rfc2049">
        <name>RFC 2045, 2046, and 2049 MIME   <xref target="RFC2045"/>, <xref target="RFC2046"/>, and <xref target="RFC2049"/></name>
        <t>These are the basic MIME standards, upon which all MIME related RFCs
   build, including this one. Key contributions include definitions of
   "content type", "sub-type", and "multipart", as well as encoding
   guidelines, which establish 7-bit US-ASCII as the canonical character
   set to be used in Internet messaging.</t>
      </section>
      <section anchor="rfc-3798-message-disposition-notification-rfc3798">
        <name>RFC 3798 Message Disposition Notification <xref target="RFC3798"/></name>
        <t>This Internet RFC defines how an MDN is requested, and the format and
   syntax of the MDN. The MDN is the basis upon which receipts and
   signed receipts are defined in this specification.</t>
      </section>
      <section anchor="rfc-3851-and-3852-smime-version-31-message-specifications-and-cryptographic-message-syntax-cms-rfc3851-rfc3852">
        <name>RFC 3851 and 3852 S/MIME Version 3.1 Message Specifications and Cryptographic Message Syntax (CMS) <xref target="RFC3851"/> / <xref target="RFC3852"/></name>
        <t>This specification describes how S/MIME will carry CMS Objects.</t>
      </section>
      <section anchor="rfc-3023-xml-media-types-rfc3023">
        <name>RFC 3023 XML Media Types <xref target="RFC3023"/></name>
        <t>This RFC defines the use of content type "application" for XML
   (application/xml).</t>
      </section>
      <section anchor="rfc-3274-compressed-data-content-type-for-cryptographic-message-syntax-cms-rfc3274">
        <name>RFC 3274 Compressed Data Content Type for Cryptographic Message Syntax (CMS) <xref target="RFC3274"/></name>
        <t>This RFC defines a mechanism for compressing data within the Cryptographic Message Syntax (CMS),
   which is the foundation for Secure/Multipurpose Internet Mail Extensions (S/MIME).
   It specifies a CompressedData content type that allows data to be compressed prior to being
   signed or encrypted. This reduces the size of transmitted messages and improves efficiency without
   altering the security services provided by signing or encryption.
   AS2-Version 1.1 incorporated the compression capability described in RFC 3274, enabling trading partners
   to optionally apply compression to message payloads before signing and/or encrypting.
   Most modern AS2 implementations support this feature to reduce bandwidth usage and improve transmission
   performance, particularly for large payloads.</t>
      </section>
    </section>
    <section anchor="structure-of-an-as2-message">
      <name>Structure of an AS2 Message</name>
      <section anchor="introduction-1">
        <name>Introduction</name>
        <t>The basic structure of an AS2 message consists of MIME format inside
   an HTTP message with a few additional specific AS2 headers. The
   structures below are described hierarchically in terms of which RFCs
   are applied to form the specific structure. For details on how to
   code in compliance with all RFCs involved, refer to the specific RFCs.
   Any difference between AS2 implementations and RFCs are mentioned
   specifically in the sections below.</t>
      </section>
      <section anchor="structure-of-an-internet-edi-mime-message">
        <name>Structure of an Internet EDI MIME Message</name>
        <sourcecode type="text"><![CDATA[
   No encryption, no signature, no compression
      - RFC2616/2045
        - RFC1767/RFC3023 (application/EDIxxxx or /xml)

   No encryption, signature, no compression
      - RFC2616/2045
        - RFC1847 (multipart/signed)
          - RFC1767/RFC3023 (application/EDIxxxx or /xml)
          - RFC3851 (application/pkcs7-signature)

   Encryption, no signature, no compression
      - RFC2616/2045
        - RFC3851 (application/pkcs7-mime)
          - RFC1767/RFC3023  (application/EDIxxxx or /xml) (encrypted)

   Encryption, signature, no compression
      - RFC2616/2045
        - RFC3851 (application/pkcs7-mime)
          - RFC1847 (multipart/signed)(encrypted)
            - RFC1767/RFC3023  (application/EDIxxxx or /xml) (encrypted)
            - RFC3851 (application/pkcs7-signature)(encrypted)

   No encryption, no signature (with optional compression)
      - RFC2616/2045
        - RFC3274 (application/pkcs7-mime; CompressedData) [optional]
          - RFC1767/RFC3023 (application/EDIxxxx or /xml)

   No encryption, signature (compression may occur before or after signing)
      - RFC2616/2045
        - [optional RFC3274 (CompressedData) if compress-before-sign]
          - RFC1847 (multipart/signed)
            - [optional RFC3274 (CompressedData) if compress-after-sign]
              - RFC1767/RFC3023 (application/EDIxxxx or /xml)
              - RFC3851 (application/pkcs7-signature)

   Encryption, no signature (with optional compression)
       - RFC2616/2045
         - RFC3851 (application/pkcs7-mime)
           - [optional RFC3274 (CompressedData)]
             - RFC1767/RFC3023 (application/EDIxxxx or /xml) (encrypted)

   Encryption, signature (compression may occur before or after signing)
      - RFC2616/2045
        - RFC3851 (application/pkcs7-mime)
          - [optional RFC3274 (CompressedData) if compress-before-sign]
            - RFC1847 (multipart/signed) (encrypted)
              - [optional RFC3274 (CompressedData) if compress-after-sign]
              - RFC1767/RFC3023 (application/EDIxxxx or /xml) (encrypted)
              - RFC3851 (application/pkcs7-signature) (encrypted)

   MDN over HTTP, no signature
      - RFC2616/2045
        - RFC3798 (message/disposition-notification)

   MDN over HTTP, signature
      - RFC2616/2045
        - RFC1847 (multipart/signed)
         - RFC3798 (message/disposition-notification)
         - RFC3851 (application/pkcs7-signature)
]]></sourcecode>
        <t><strong>Key Notes</strong></t>
        <t>o RFC 3274 (CompressedData) is the normative reference for compression.</t>
        <t>o Compression MAY be combined with signing and/or encryption in either order,
    but the choice affects what the digital signature covers.</t>
        <t>o Many implementations compress before signing and encrypting to maximize size
    reduction, but compression after signing and before encrypting MUST also be supported.</t>
        <t>o Although all MIME content types SHOULD be supported, the following
    MIME content types MUST be supported:</t>
        <artwork><![CDATA[
         Content-type: multipart/signed
         Content-Type: multipart/report
         Content-type: message/disposition-notification
         Content-Type: application/PKCS7-signature
         Content-Type: application/PKCS7-mime
         Content-Type: application/EDI-X12
         Content-Type: application/EDIFACT
         Content-Type: application/edi-consent
         Content-Type: application/XML
]]></artwork>
      </section>
    </section>
    <section anchor="http-considerations">
      <name>HTTP Considerations</name>
      <t>This specification permits but does not require the use of HTTP/2 or
HTTP/3 as transport protocols. Interoperability testing and
certification are scoped to HTTP/1.1 unless otherwise agreed upon between
trading partners.</t>
      <section anchor="sending-edi-in-http-post-requests">
        <name>Sending EDI in HTTP POST Requests</name>
        <t>The request line will have the form: "POST Request-URI HTTP/1.1",
   with spaces and followed by a CRLF. The Request URI is typically
   exchanged out of band, as part of setting up a bilateral trading
   partner agreement. Applications SHOULD be prepared to deal with an
   initial reply containing a status indicating a need for
   authentication of the usual types used for authorizing access to the
   Request-URI (<xref target="RFC2616"/>, Section 10.4.2 and elsewhere).</t>
        <t>The request line is followed by entity headers specifying content
   length (<xref target="RFC2616"/>, Section 14.14) and content type (<xref target="RFC2616"/>, Section 14.18).
   The Host request header (<xref target="RFC2616"/>, Sections 9 and 14.23) is also included.</t>
        <t>When using Transport Layer Security (TLS), the request-URI MUST
   indicate the appropriate scheme value, HTTPS. Implementations MUST
   support TLS 1.2 or higher and SHOULD follow the guidance in <xref format="none" target="https-tls-reqs">Section 10.1</xref>.
   Encrypted message bodies MAY be used in addition to TLS when required
   by business policy.</t>
        <t>The receiving AS2 system MAY disconnect from the sending AS2 system
   before completing the reception of the entire entity if it determines
   that the entity being sent is too large to process.</t>
        <t>For HTTP version 1.1, TCP persistent connections are the default,
   (<xref target="RFC2616"/> Sections 8.1.2, 8.2, and 19.7.1). A number of other differences
   exist because HTTP does not conform to MIME <xref target="RFC2616"/> as used in SMTP
   transport.  Relevant differences are summarized below.</t>
      </section>
      <section anchor="unused-mime-headers-and-operations">
        <name>Unused MIME Headers and Operations</name>
        <section anchor="content-transfer-encoding-not-used-in-http-transport">
          <name>Content-Transfer-Encoding Not Used in HTTP Transport</name>
          <t>HTTP can handle binary data and so there is no need to use the
   content transfer encodings of MIME <xref target="RFC2616"/>. This difference is discussed
   in <xref target="RFC2616"/>, Section 19.4.5. However, a content transfer encoding value
   of binary or 8-bit is permissible but not required. The absence of
   this header MUST NOT result in transaction failure. Content transfer
   encoding of MIME bodyparts within the AS2 message body is also
   allowed.</t>
        </section>
        <section anchor="message-bodies">
          <name>Message Bodies</name>
          <t>In <xref target="RFC2616"/>, Section 3.7.2, it is explicitly noted that multiparts MUST
   have null epilogues.</t>
          <t>For HTTP transport, large files SHOULD be handled correctly by the TCP layer.
   In addition, <xref target="RFC2616"/>, Sections 3.5 and 3.6 describe options for compressing or
   chunking entities to be transferred, and Section 8.1.2.2 describes a pipelining
   option that is useful for segmenting large amounts of data.
   These clarifications are consistent with existing AS2 practice and maintain full
   backward compatibility (see <xref format="none" target="backward-compatibility-and-interoperability">Section 1.2</xref>).</t>
        </section>
      </section>
      <section anchor="modification-of-mime-or-other-headers-or-parameters-used">
        <name>Modification of MIME or Other Headers or Parameters Used</name>
        <section anchor="content-length">
          <name>Content-Length</name>
          <t>The use of the content-length header MUST follow the guidelines of
   <xref target="RFC2616"/>, specifically Sections 4.4 and 14.13.</t>
        </section>
        <section anchor="final-recipient-and-original-recipient">
          <name>Final Recipient and Original Recipient</name>
          <t>The final and original recipient values SHOULD be the same value.
   These values MUST NOT be aliases or mailing lists.</t>
        </section>
        <section anchor="message-id-and-original-message-id">
          <name>Message-Id and Original-Message-Id</name>
          <t>The <tt>Message-Id</tt> and <tt>Original-Message-Id</tt> headers identify a message
   uniquely and are formatted as defined in <xref target="RFC5322"/>, Section 3.6.4:</t>
          <artwork><![CDATA[
      "<" id-left "@" id-right ">"
]]></artwork>
          <t>The length of a <tt>Message-Id</tt> value MUST NOT exceed 998 characters.
   For maximum interoperability, the length SHOULD be 255 characters or less.</t>
          <t>The <tt>Message-Id</tt> value MUST be globally unique, and the <tt>id-right</tt>
   portion SHOULD be something unique to the sending host environment
   (for example, a fully qualified domain name).</t>
          <t>Implementations that generate <tt>Message-Id</tt> values MUST NOT include
   spaces or control characters. Implementations SHOULD remove spaces
   rather than substitute another character when constructing identifiers
   from other message attributes such as <tt>AS2-From</tt> or <tt>AS2-To</tt>.</t>
          <t>Receivers are not required to accept malformed identifiers. If a
   message is received with a <tt>Message-Id</tt> that contains spaces or
   control characters, the implementation SHOULD treat it as
   syntactically invalid and SHOULD return an MDN with a disposition of
   <tt>processed/error</tt> and a human-readable explanation such as
   "invalid-message-id" (see <xref target="RFC8098"/>). If an implementation chooses
   to proceed despite the malformed identifier, it MUST NOT propagate or
   generate a new message using that malformed value.</t>
          <t>When sending a message, the <tt>Message-Id</tt> field value MUST be enclosed
   in angle brackets (“&lt;” and “&gt;”). The brackets are not part of the
   actual identifier value. For backward compatibility, receiving
   implementations SHOULD NOT reject a message that omits angle brackets.</t>
          <t>When creating the <tt>Original-Message-Id</tt> header in an MDN, always use
   the exact syntax as received on the original message; do not strip or
   add angle brackets.</t>
          <t>See <xref target="RFC5322"/>, Section 3.6.4.</t>
        </section>
        <section anchor="host-header">
          <name>Host Header</name>
          <t>The host request header field MUST be included in the POST request
   made when sending business data. This field is intended to allow one
   server IP address to service multiple hostnames, and potentially to
   conserve IP addresses. See <xref target="RFC2616"/>, Sections 14.23 and 19.5.1.</t>
        </section>
      </section>
      <section anchor="http-response-status-codes">
        <name>HTTP Response Status Codes</name>
        <t>Implementations MUST use standard HTTP response codes to signal the
   outcome of the message transfer.  The meaning of the HTTP status code is
   limited to the success or failure of the transport operation itself,
   not the semantic processing of the AS2 message content. For
   example, the status code 401, together with the WWW-Authenticate
   header, is used to challenge the client to repeat the request with an
   Authorization header. Other explicit status codes are documented in
   <xref target="RFC2616"/>, Section 6.1.1 and throughout Section 10.</t>
        <t>Receiving implementations MAY send an interim 102 (Processing)
   response <xref target="RFC4918"/> under HTTP/1.1 to indicate that the inbound
   message has been fully received and that processing is underway. The
   102 response can help prevent sender-side network timeouts for large
   synchronous transfers by signaling progress while decryption,
   signature verification, or storage continues.</t>
        <t>Use of 102 (Processing) is OPTIONAL.  It has been deprecated in later
   HTTP specifications and <strong>MUST NOT</strong> be used with HTTP/2 or HTTP/3,
   where interim responses have different semantics.  Implementations
   Implementations that do not receive a 102 response MUST NOT assume that
   a failure has occurred solely because no interim status was returned.
   They SHOULD continue waiting for the final status response for at least
   the duration of their configured HTTP read timeout or any timeout agreed
   upon between trading partners.</t>
        <t>To minimize the risk of network timeouts during lengthy message
   processing, receivers SHOULD return an appropriate transfer-layer
   response as quickly as possible after receiving the full message
   content. For asynchronous message exchanges, the preferred response is
   <tt>204 No Content</tt>, which indicates that the message has been received
   successfully and that an asynchronous MDN will follow once processing has
   completed. This convention is maintained for interoperability with
   existing AS2 products and certification profiles.</t>
        <t>Some implementations MAY instead use <tt>202 Accepted</tt> to indicate
   successful receipt and deferred processing; however, <tt>204 No Content</tt>
   remains the recommended and most widely deployed response for asynchronous workflows.</t>
        <t>Implementations MAY close the connection immediately after sending this
   response if persistent connections are not required by configuration.</t>
        <t>After processing completes, the receiver MUST return a final HTTP
   status code indicating the success or failure of the message transfer.
   The sender MUST use this final response to determine whether retry is appropriate.</t>
        <t>Retry <strong>MUST NOT</strong> be attempted when:</t>
        <artwork><![CDATA[
 o the final HTTP response indicates successful receipt (e.g., `200 OK` or
   `204 No Content` for asynchronous transfers, or `202 Accepted` for
   implementations that use deferred processing semantics) **and** a
   valid MDN has been received confirming the message disposition; or
 o a permanent-failure status code is returned (4xx other than 408), or
]]></artwork>
        <t>Retry <strong>MAY</strong> be attempted when:</t>
        <artwork><![CDATA[
 o the HTTP connection fails before the final status is received,
 o a transient error such as 408 (Request Timeout) or 5xx (Server Error)
   occurs, or
 o no response is received within the configured timeout.
]]></artwork>
        <t>Implementations SHOULD refer to Section 5.5 for additional guidance on
   retry logic, back-off behavior, and use of partial-transfer recovery.
   The 102 (Processing) status code, if used, MUST NOT be treated as a
   trigger for retry.</t>
      </section>
      <section anchor="http-error-recovery-and-reliability">
        <name>HTTP Error Recovery and Reliability</name>
        <t>When an AS2 message transfer fails due to a transient transport-layer
   condition (for example, an HTTP 408 Request Timeout, 425 Too Early,
   500 Internal Server Error, 503 Service Unavailable or network interruption
   before the final response), the sending system SHOULD attempt an automatic retry.</t>
        <t>Each retry attempt MUST reuse the same Message-ID value so that the
   receiving system can identify duplicate transmissions and prevent
   double-processing.  A receiving system detecting a duplicate
   Message-ID MUST NOT treat the message as new and SHOULD return the
   previously generated MDN, if available.</t>
        <t>Implementations SHOULD permit configuration of retry behavior rather
   than enforcing fixed intervals or limits.  The following guidelines
   are RECOMMENDED but not required:</t>
        <artwork><![CDATA[
 o **Retry intervals** SHOULD increase exponentially (e.g., 5 min,
   10 min, 20 min, 40 min, …) to reduce congestion.
 o **Retry duration** SHOULD be configurable based on business
   requirements; some environments may continue for several days, while
   others may terminate after one or two attempts.
 o **Maximum attempts** SHOULD be limited to prevent indefinite
   retries when persistent errors occur.
]]></artwork>
        <t>Implementations SHOULD NOT retry when:</t>
        <artwork><![CDATA[
 o A final 2xx response and/or valid MDN has been received;
 o The HTTP response indicates a permanent failure (e.g., 400, 401,
   403, 404);
 o The partner has explicitly rejected the message by sending a signed
   MDN with a "failed" disposition.
]]></artwork>
        <t>The HTTP 102 (Processing) interim status MAY be used under
   HTTP/1.1 to indicate progress on long-running synchronous operations.
   It MUST NOT be used as a signal to initiate or suppress retries.
   Implementations MUST ignore 102 responses when determining whether a
   retry is required.  The 102 response MUST NOT be used with HTTP/2 or
   HTTP/3.</t>
        <t>Implementations MAY also support <strong>AS2 Restart</strong>, which allows a
   partially uploaded message to resume from the point of interruption
   rather than retransmitting the entire payload.  This optional feature
   is defined in <xref target="I-D.draft-harding-as2-restart-02"/>.  Implementations supporting
   Restart MUST ensure message integrity through signature or checksum
   validation of all resumed segments.</t>
        <t>Additional guidance for retry management, error classification, and
   duplicate detection is described in <xref target="I-D.draft-duker-as2-reliability-16"/>.
   While both of these drafts are expired, they remain widely referenced
   in AS2 interoperability testing and provide a useful operational baseline
   for error-recovery behavior.</t>
        <t>The objective of error recovery is reliability, not speed.  Systems
   SHOULD favor successful delivery over strict timing, provided that
   duplicate protection and security requirements are preserved.</t>
      </section>
    </section>
    <section anchor="additional-as2-specific-http-headers">
      <name>Additional AS2-Specific HTTP Headers</name>
      <t>The following headers are to be included in all AS2 messages and all
AS2 MDNs. <xref target="RFC3335"/>.</t>
      <section anchor="as2-version-header">
        <name>AS2 Version Header</name>
        <t>To promote backward compatibility, AS2 includes a version header. The
   major version digit indicates wire-level compatibility; minor version
   digits designate feature sets, clarifications, or extensions that
   remain compatible within the same major version. Thus, all values in
   the "1.x" range are compatible with AS2-Version 1.0, while a future
   "2.0" would indicate a non-backward-compatible revision.</t>
        <t>Receiving systems MUST NOT fail due to the absence of the AS2-Version
   header. Its absence MUST be assumed to be equivalent to the default
   AS2-Version value of 1.0.</t>
        <sourcecode type="text"><![CDATA[
   AS2-Version: 1.0  - All implementations of this specification MUST support and
                       advertise "AS2-Version: 1.0". Versions in the range "1.0"
                       through "1.9" MAY be used. All implementations MUST interpret
                       any value in that range as conforming to this specification,
                       with no differences in baseline behavior. In other words, only
                       the major version digit ("1") defines compatibility for implementations
                       that do not support additional, non-AS2-specified functionality.

                       Implementations MAY use "1.1" through "1.9" to signal extensions of
                       this specification. Any such extensions MUST be fully transparent to
                       implementations that recognize only "AS2-Version: 1.0".

   AS2-Version: 1.1  - Designates those implementations that MUST support compression as
                       defined by RFC 3274.

   AS2-Version: 1.2  - Indicates those implementations that include an EDIINT-Features header
                       as defined in RFC 6017. The values in an EDIINT-Features header specify
                       the features supported by the AS2 implementation. Examples may include
                       CEM, AS2-Reliability and multiple-attachments, however others may also be included.
                       A receiving implementation MUST NOT fail if it does not support or understand
                       any of the supported values contained within an EDIINT-Features header.

   AS2-Version: 1.3  - Indicates those implementations that support the modernization defined
                       by this specification, including updated algorithm requirements (e.g.,
                       SHA-256 for MIC/signatures; AES as the encryption baseline per [RFC8551]),
                       alignment with MDN handling as specified in [RFC8098], and support for
                       multiple-recipient encryption as described in [Section 7.2](#encryption-algorithms){:format="none"}
                       of this specification.

                       When both partners are configured for AS2 version 1.3, weak algorithms (e.g., SHA-1,
                       3DES, RC2, MD5) MUST NOT be generated by conformant implementations. When interoperating
                       with a legacy partner that operates at AS2 version 1.2 or lower, implementations MAY apply
                       the legacy interoperability clarifications described in Appendix B (non-normative).

                       Future minor versions (1.x) may designate additional extensions or clarifications
                       that remain backward-compatible with AS2 version 1.0. A major version update
                       (2.0 or higher) would indicate a non-backward-compatible revision.
]]></sourcecode>
      </section>
      <section anchor="as2-product-header">
        <name>AS2 Product header</name>
        <t>The <tt>AS2-Product</tt> header value identifies the AS2 product and version
   used by the sender.  This information enables interoperability testing,
   certification, and troubleshooting by allowing trading partners to
   detect known product-specific behaviors or version-related quirks.</t>
        <t>The <tt>AS2-Product</tt> header value is OPTIONAL for AS2-Version 1.x systems
   but MUST be included in messages generated by implementations
   declaring <strong>AS2-Version: 1.3 or 2.0</strong> (or later).</t>
        <t>The header field value MUST follow the format:</t>
        <sourcecode type="text"><![CDATA[
     * <product-name>: lowercase alphanumeric and hyphen characters (a–z,
        0–9, "-") without spaces.
     * <major.minor[.patch]>: version string consistent with the product’s
        release version, with one or more numeric components separated by dots.

   Examples:

      AS2-Product: biztalk:2025.1
      AS2-Product: drummond-connect:4.2.3
]]></sourcecode>
        <t>Implementations <strong>MUST NOT</strong> use arbitrary identifiers or vendor aliases
   that do not reflect the actual product in use.  The value is static and
   determined at build time.  If a product supports multiple AS2 variants,
   the version portion MAY include an implementation-specific suffix
   (e.g., "1.2-drummond").</t>
        <t>Implementations MAY use the <tt>AS2-Product</tt> value for automated
   interoperability tuning or to apply compatibility workarounds for known
   product versions.  However, this field is not intended for
   feature-negotiation purposes; supported feature tokens belong in the
   <tt>EDIINT-Features</tt> header.</t>
      </section>
      <section anchor="as2-system-identifiers">
        <name>AS2 System Identifiers</name>
        <t>To aid the receiving system in identifying the sending system,
   AS2-From and AS2-To headers are used.</t>
        <artwork><![CDATA[
      AS2-From: < AS2-name >
      AS2-To: < AS2-name >
]]></artwork>
        <t>These AS2 headers contain textual values, as described below,
   identifying the sender/receiver of a data exchange. Their values may
   be company specific, such as Data Universal Numbering System (DUNS)
   numbers, or they may be simply identification strings agreed upon
   between the trading partners.</t>
        <artwork><![CDATA[
  AS2-text = "!" /           ; printable ASCII characters
             %d35-91 /       ; except double-quote (%d34)
             %d93-126        ; or backslash (%d92)

  AS2-qtext = AS2-text / SP  ; allow space only in quoted text

  AS2-quoted-pair = "\" DQUOTE /  ; \" or
                    "\" "\"       ; \\

  AS2-quoted-name = DQUOTE 1*128( AS2-qtext /
                                  AS2-quoted-pair) DQUOTE

  AS2-atomic-name = 1*128AS2-text

  AS2-name = AS2-atomic-name / AS2-quoted-name
]]></artwork>
        <t>The AS2-From header value and the AS2-To header value:</t>
        <artwork><![CDATA[
 o  MUST each be an AS2-name,
 o  MUST each be comprised of from 1 to 128 printable ASCII characters, and
 o  MUST NOT be folded
 o  The value in each of these headers is **case-sensitive**.
]]></artwork>
        <t>The string definitions given above are in ABNF format <xref target="RFC2234"/>.</t>
        <t>The AS2-quoted-name SHOULD be used only if the AS2-name does not
   conform to AS2-atomic-name. This explicitly includes situations where
   embedded spaces are part of the AS2-name.</t>
        <t>The AS2-To and AS2-From header fields MUST be present in all AS2
   messages and AS2 MDNs whether they are synchronous or asynchronous in nature.</t>
        <t>The AS2-name for the AS2-To header in a response or MDN MUST match
   the AS2-name of the AS2-From header in the corresponding request
   message. Likewise, the AS2-name for the AS2-From header in a
   response or MDN MUST match the AS2-name of the AS2-To header in the
   corresponding AS2 request message.</t>
        <t>The sending system may choose to limit the possible AS2-To/AS2-From
   textual values but MUST not exceed them. The receiving system MUST
   make no restrictions on the textual values and SHOULD handle all
   possible implementations. However, implementers must be aware that
   older AS2 products may not adhere to this convention. Trading
   partner agreements should be made to ensure that older products can
   support the system identifiers that are used.</t>
        <t>There is no required response to a client request containing invalid
   or unknown AS2-From or AS2-To header values. The receiving AS2
   system MAY return an unsigned MDN with an explanation of the error,
   such as an MDN error disposition value of "unknown-trading-relationship",
   if the sending system requested an MDN.</t>
      </section>
    </section>
    <section anchor="algorithm-requirements">
      <name>Algorithm Requirements</name>
      <t>This section defines the normative requirements for cryptographic
   algorithms used in AS2. These requirements apply to all conformant
   implementations. Guidance on interoperability with legacy AS2 systems
   that continue to use older algorithms is provided separately in
   Appendix B.</t>
      <section anchor="hash-algorithms">
        <name>Hash Algorithms</name>
        <t>Implementations MUST support SHA-256 for message integrity check (MIC)
   calculations and digital signatures. Implementations SHOULD support
   SHA-384 or stronger algorithms. SHA-1 and MD5 are deprecated due to
   known weaknesses and MUST NOT be generated by conformant implementations.</t>
        <t>See Appendix B for clarifications on handling legacy algorithms when
   interoperating with RFC 4130 systems.</t>
      </section>
      <section anchor="encryption-algorithms">
        <name>Encryption Algorithms</name>
        <t>Implementations MUST support AES encryption algorithms as defined in
   S/MIME Version 4.0 <xref target="RFC8551"/>. At a minimum, AES-128-CBC MUST be
   supported, and AES-256-CBC SHOULD be supported. Implementations are
   also RECOMMENDED to support AES-128-GCM and AES-256-GCM. Support for
   AES-CCM is also RECOMMENDED for environments requiring authenticated
   encryption.</t>
        <t>Triple DES (3DES) and RC2 are deprecated and MUST NOT be generated by
   conformant implementations.</t>
        <t>To support recoverable decryption and regulatory requirements,
   implementations SHOULD support multiple-recipient encryption of the
   content-encryption key (CEK), consistent with <xref target="RFC8551"/> Section 3.3.
   A copy of the CEK encrypted for the originator SHOULD also be included in
   the EnvelopedData, and the same principle applies to AuthEnvelopedData
   when using AES-CCM or AES-GCM.</t>
        <t>See Appendix B for guidance on handling 3DES and other weak algorithms
   when interoperating with legacy AS2 systems.</t>
      </section>
    </section>
    <section anchor="structure-and-processing-of-an-mdn-message">
      <name>Structure and Processing of an MDN Message</name>
      <t>This document aligns MDN behavior with RFC 8098, clarifying semantics
for interoperability. It does not redefine the MDN format.
Implementations MUST be able to parse historic MDN forms as described in
RFC 3798 for backward compatibility.</t>
      <section anchor="introduction-2">
        <name>Introduction</name>
        <t>In order to support non-repudiation of receipt, a signed receipt,
   based on digitally signing a message disposition notification, is to
   be implemented by a receiving trading partner's UA. The message
   disposition notification, specified by RFC 3798, is digitally signed
   by a receiving trading partner as part of a multipart/signed MIME
   message.</t>
        <t>The requirements in this section update but do not alter the compatibility
   of MDN formats with existing AS2 implementations (see <xref format="none" target="backward-compatibility-and-interoperability">Section 1.2</xref>).
   This ensures interoperability with both RFC 3798 and RFC 8098 implementations.</t>
        <t>The following support for signed receipts is REQUIRED:</t>
        <artwork><![CDATA[
  1. The ability to create a multipart/report; where the
     report-type = disposition-notification.

  2. The ability to calculate a message integrity check (MIC) on the
     received message. The calculated MIC value will be returned to
     the sender of the message inside the signed receipt.

  3. The ability to create a multipart/signed content with the
     message disposition notification as the first body part, and
     the signature as the second body part.

  4. The ability to return the signed receipt to the sending trading
     partner.

  5. The ability to return either a synchronous or an asynchronous
     receipt as the sending party requests.
]]></artwork>
        <t>The signed receipt is used to notify a sending trading partner that
   requested the signed receipt that:</t>
        <artwork><![CDATA[
  1. The receiving trading partner acknowledges receipt of the sent
     EC Interchange.

  2. If the sent message was signed, then the receiving trading
     partner has authenticated the sender of the EC Interchange.

  3. If the sent message was signed, then the receiving trading
     partner has verified the integrity of the sent EC Interchange.
]]></artwork>
        <t>Regardless of whether the EDI/EC Interchange was sent in S/MIME
   format, the receiving trading partner's UA MUST provide the following
   basic processing:</t>
        <artwork><![CDATA[
  1. If the sent EDI/EC Interchange is encrypted, then the encrypted
     symmetric key and initialization vector (if applicable) is
     decrypted using the receiver's private key.

  2. The decrypted symmetric encryption key is then used to decrypt
     the EDI/EC Interchange.

  3. The receiving trading partner authenticates signatures in a
     message using the sender's public key. The authentication
     algorithm performs the following:

     a. The message integrity check (MIC or Message Digest), is
        decrypted using the sender's public key.

     b. A MIC on the signed contents (the MIME header and encoded
        EDI object, as per RFC 1767) in the message received is
        calculated using the same one-way hash function that the
        sending trading partner used.

     c. The MIC extracted from the message that was sent and the MIC
        calculated using the same one-way hash function that the
        sending trading partner used are compared for equality.

  4. The receiving trading partner formats the MDN and sets the
     calculated MIC into the "Received-content-MIC" extension field.

  5. The receiving trading partner creates a multipart/signed MIME
     message according to RFC 1847.

  6. The MDN is the first part of the multipart/signed message, and
     the digital signature is created over this MDN, including its
     MIME headers.

  7. The second part of the multipart/signed message contains the
     digital signature. The "protocol" option specified in the
     second part of the multipart/signed is as follows:

           S/MIME: protocol = "application/pkcs7-signature"

  8. The signature information is formatted according to S/MIME
     specifications.
]]></artwork>
        <t>The EC Interchange and the RFC 1767 MIME EDI content header can
   actually be part of a multi-part MIME content-type. When the EDI
   Interchange is part of a multi-part MIME content-type, the MIC MUST
   be calculated across the entire multi-part content, including the
   MIME headers contained within the multi-part MIME content.</t>
        <t>The signed MDN, when received by the sender of the EDI Interchange,
   can be used by the sender as follows:</t>
        <artwork><![CDATA[
    o  As an acknowledgement that the EDI Interchange sent was
       delivered and acknowledged by the receiving trading partner.
       The receiver does this by returning the original-message-id
       of the sent message in the MDN portion of the signed receipt.

    o  As an acknowledgement that the integrity of the EDI
       Interchange was verified by the receiving trading partner.
       The receiver does this by returning the calculated MIC of the
       received EC Interchange (and 1767 MIME headers) in the
       "Received-content-MIC" field of the signed MDN.

    o  As an acknowledgement that the receiving trading partner has
       authenticated the sender of the EDI Interchange.

    o  As a non-repudiation of receipt when the signed MDN is
       successfully verified by the sender with the receiving
       trading partner's public key and the returned MIC value
       inside the MDN is the same as the digest of the original
       message.
]]></artwork>
      </section>
      <section anchor="synchronous-and-asynchronous-mdns">
        <name>Synchronous and Asynchronous MDNs</name>
        <t>The AS2-MDN exists in two varieties: synchronous and asynchronous.</t>
        <t>The synchronous AS2-MDN is sent as an HTTP response to an HTTP POST
   or as an HTTPS response to an HTTPS POST. This form of AS2-MDN is
   called synchronous because the AS2-MDN is returned to the originator
   of the POST on the same TCP/IP connection.</t>
        <t>The synchronous response MUST indicate transfer-layer success or
   failure, such as <tt>200 OK</tt> or <tt>202 Accepted</tt>.  The format of this
   response MAY be identical to that used when no AS2-MDN is requested.</t>
        <t>The asynchronous AS2-MDN is sent on a separate HTTP or HTTPS
   TCP/IP connection. Logically, the asynchronous AS2-MDN is a response
   to an AS2 message. However, at the transfer-protocol layer, assuming
   that no HTTP pipelining is utilized, the asynchronous AS2-MDN is
   delivered on a unique TCP/IP connection, distinct from that used to
   deliver the original AS2 message.</t>
        <t>When handling an asynchronous request, the receiving system <strong>SHOULD</strong>
   return a transfer-layer response (typically <tt>202 Accepted</tt> or <tt>204 No Content</tt>)
   as soon as the last byte of the inbound message has been received, without waiting
   for decryption, signature verification, or message persistence.  This
   minimizes the risk of network timeouts and ensures that the sender can
   begin awaiting the asynchronous MDN promptly. The asynchronous MDN MUST be
   transmitted as an independent HTTP message, separate from the original
   connection used to submit the AS2 message.</t>
        <t>Implementations <strong>MAY</strong> use persistent (keep-alive) HTTP connections.
   Closing the TCP connection immediately after sending the response is
   <strong>RECOMMENDED</strong> for simplicity, but not required.  Some application
   servers and frameworks manage connection lifecycles automatically and
   may keep the socket open.  The AS2 specification does not mandate that
   the AS2 layer explicitly close the connection.</t>
        <t>The following diagram illustrates the synchronous versus asynchronous
   varieties of AS2-MDN delivery using HTTP:</t>
        <sourcecode type="text"><![CDATA[
   Synchronous AS2-MDN

   {Peer1} ----( connect )----> {Peer2}
   {Peer1} -----( send )------> {Peer2}   HTTP Request {AS2-Message}
   {Peer1} <---( receive )----- {Peer2}   HTTP Response {AS2-MDN}

   Asynchronous AS2-MDN

   {Peer1} ----( connect )----> {Peer2}
   {Peer1} -----( send )------> {Peer2}   HTTP Request {AS2-Message}
   {Peer1} <---( receive )----- {Peer2}   HTTP Response (e.g., "200 OK" or "204 No Content")
   {Peer1}*<---( connect )----- {Peer2}
   {Peer1} <--- ( send )------- {Peer2}   HTTP Request {AS2-MDN}
   {Peer1} ----( receive )----> {Peer2}   HTTP Response
]]></sourcecode>
        <ul spacing="normal">
          <li>
            <t>Note: An AS2-MDN may be directed to a host different from that of
   the sender of the AS2 message. It may also utilize a transfer protocol
   different from that used to send the original AS2 message.</t>
          </li>
        </ul>
        <t>The advantage of the synchronous MDN is that it provides the
   sender of the AS2 message with a verifiable confirmation of
   delivery within a single synchronous logic flow. However, if the
   message is large, the time required to process it and return the
   AS2-MDN on the same connection may exceed the maximum configured
   time permitted for maintaining an open connection.</t>
        <t>The advantage of the asynchronous MDN is that it provides for the
   rapid return of a transfer-layer acknowledgment from the receiver,
   confirming receipt of data, while allowing full processing to occur
   later. This reduces connection duration and timeout risk.  However,
   the asynchronous AS2-MDN MUST include sufficient identifying
   information (for example, <tt>Original-Message-ID</tt> and <tt>Final-Recipient</tt>)
   so that the message originator can correlate the MDN with its original
   message and update the processing status accordingly.</t>
        <t>Synchronous and asynchronous HTTP or HTTPS MDNs are both valid under
   this specification.  Implementations MUST support receiving both
   types and SHOULD support sending both.</t>
      </section>
      <section anchor="requesting-a-signed-receipt">
        <name>Requesting a Signed Receipt</name>
        <t>Message disposition notifications are requested as per RFC 3798. A
   request that the receiving user agent issue a message disposition
   notification is made by placing the following header into the message
   to be sent:</t>
        <artwork><![CDATA[
    MDN-request-header = "Disposition-notification-to"
                        ":"  mail-address
]]></artwork>
        <t>The following example is for requesting an MDN:</t>
        <artwork><![CDATA[
    Disposition-notification-to: xxx@example.com
]]></artwork>
        <t>The "Disposition-notification-to" header field is retained for compatibility
   with the MDN specification <xref target="RFC3798"/>, but its value is not used by AS2 implementations
   to determine where to return the MDN. Its presence just indicates that an MDN receipt is
   to be returned to the originator. In AS2, the field value may be an email address, a URL,
   a fully qualified domain name, an AS2 identifier, or any other implementation-specific string.
   Implementations MUST NOT reject a message based on the syntax of this field. This document
   relaxes the original requirement from RFC 4130, which mandated an email address, in order to
   reflect current AS2 practice while maintaining backward compatibility (see <xref format="none" target="backward-compatibility-and-interoperability">Section 1.2</xref>).</t>
        <t>When requesting MDN-based receipts, the originator supplies
   additional extension headers that precede the message body.  These
   header "tags" are as follows:</t>
        <t>A Message-ID header is added to support message reconciliation, so
   that an Original-Message-Id value can be returned in the body part of
   MDN. Other headers, especially "Subject" and "Date", SHOULD be
   supplied; the values of these headers are often mentioned in the
   human-readable section of a MDN to aid in identifying the original
   message.</t>
        <t>MDNs will be returned in the HTTP response when requested, unless an
   asynchronous MDN is requested.</t>
        <t>To request an asynchronous message disposition notification, the
   following header is placed into the message that is sent:</t>
        <artwork><![CDATA[
    Receipt-Delivery-Option: return-URL
]]></artwork>
        <t>This is an example requesting that the MDN be asynchronous:</t>
        <artwork><![CDATA[
    Receipt-Delivery-Option: http://www.example.com/Path
]]></artwork>
        <t>Receipt-delivery-option syntax allows the return-url to use some schemes
   other than HTTP using the POST method.</t>
        <t>The "receipt-delivery-option: return-url" string indicates the URL to
   use for an asynchronous MDN. This header is NOT present if the
   receipt is to be synchronous. The email value in Disposition-
   notification-to is not used in this specification because it was
   limited to RFC 2822 addresses (now replaced by <xref target="RFC5322"/>); the extension
   header "Receipt-delivery-option" has been introduced to provide a
   URL for the MDN return by several transfer options.</t>
        <t>The receipt-delivery-option's value MUST be a URL indicating the
   delivery transport destination for the receipt.</t>
        <t>An example request for an asynchronous MDN via an HTTP transport:</t>
        <artwork><![CDATA[
    Receipt-delivery-option: http://www.example.com
]]></artwork>
        <t>An example request for an asynchronous MDN via an HTTP/S transport:</t>
        <artwork><![CDATA[
    Receipt-delivery-option: https://www.example.com
]]></artwork>
        <t>Finally, the header, Disposition-notification-options, identifies
   characteristics of message disposition notification as in <xref target="RFC3798"/>. The
   most important of these options is for indicating the signing options
   for the MDN, as in the following example:</t>
        <artwork><![CDATA[
    Disposition-notification-options:
         signed-receipt-protocol=optional,pkcs7-signature;
         signed-receipt-micalg=optional,sha-256,sha1
]]></artwork>
        <t>For signing options, consider the disposition-notification-options
   syntax:</t>
        <artwork><![CDATA[
    Disposition-notification-options =
             "Disposition-Notification-Options" ":"
              disposition-notification-parameters
where
         disposition-notification-parameters =
                           parameter *(";" parameter)

where
         parameter = attribute "=" importance ", " 1#value"

where
         importance = "required" | "optional"
]]></artwork>
        <t>So the Disposition-notification-options string could be:</t>
        <artwork><![CDATA[
    signed-receipt-protocol=optional, <protocol symbol>;
    signed-receipt-micalg=optional, <micalg1>, <micalg2>,...;
]]></artwork>
        <t>The currently used value for &lt;protocol symbol&gt; is "pkcs7-signature"
   for the S/MIME detached signature format.</t>
        <t>The currently supported values for MIC algorithm &lt;micalg&gt; values are:</t>
        <artwork><![CDATA[
    Algorithm   Value Used
    ---------    ---------
     SHA-256      sha-256
     SHA-384      sha-384
     SHA-512      sha-512
     SHA-1        sha-1 or sha1 (should *only* be used in legacy deployments that
                                 cannot support SHA-256 or greater)
]]></artwork>
        <t>The semantics of the "signed-receipt-protocol" and the "signed-receipt-micalg"
   parameters are as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The "signed-receipt-protocol" parameter is used to request a
signed receipt from the recipient trading partner. The "signed-receipt-protocol"
parameter also specifies the format in which the signed receipt SHOULD be returned
to the requester.  </t>
            <t>
The "signed-receipt-micalg" parameter identifies one or more message
integrity check (MIC) algorithms, in order of preference, that the
requester supports for signing the returned receipt. Although multiple
values MAY be listed to indicate fallback options, only a single MIC
algorithm is used in the returned MDN because the "Received-content-MIC"
field conveys exactly one digest value.  </t>
            <t>
Recipients MUST select the first algorithm in the list that they also
support and MUST compute the Received-content-MIC using that algorithm.
Senders SHOULD list the strongest algorithm first. Modern
implementations SHOULD include only a single value unless multiple
values are needed to support phased migration away from weaker
algorithms. Implementations MUST accept messages that contain multiple
values and MUST ignore unsupported values.  </t>
            <t>
When a sender lists multiple algorithms, recipients MUST NOT fall back
to an algorithm that is not explicitly listed by the sender.
Trading partners typically pre-configure acceptable MIC algorithms
through bilateral agreement, and runtime negotiation is not needed.
If none of the algorithms listed is supported, the recipient SHOULD
reject the message and MAY return an unsigned MDN indicating
"unsupported-mic-algorithm" rather than silently selecting a weaker
algorithm.  When the header is absent (e.g., unsigned messages), an
implementation MUST use a locally configured default algorithm; SHA-256
SHOULD be preferred, but SHA-1 MAY be used when required for legacy partners.  </t>
            <t><strong>The following algorithm requirements apply to all implementations:</strong>  </t>
            <t>
o Implementations <strong>MUST</strong> support SHA-256.  </t>
            <t>
o Implementations <strong>SHOULD</strong> support SHA-384 or stronger.  </t>
            <t>
o SHA-1 <strong>MAY</strong> be accepted only when required for interoperability with
    legacy partners and MUST NOT be generated for new deployments once
    both parties support stronger algorithms.  </t>
            <t>
o MD5 is obsolete and MUST NOT be generated.  </t>
            <t>
See <xref format="none" target="security-considerations">Section 10</xref> for additional algorithm requirements
and deprecation timelines.  </t>
            <t>
Both the "signed-receipt-protocol" and the "signed-receipt-micalg"
option parameters are REQUIRED when requesting a signed receipt.  </t>
            <t>
The lack of the presence of the "Receipt-Delivery-Option"
indicates that a receipt is synchronous in nature. The presence
of the "Receipt-Delivery-Option: return-url" indicates that an
asynchronous receipt is requested and SHOULD be sent to the
"return-url".</t>
          </li>
          <li>
            <t>The "importance" attribute of "Optional" is defined in RFC 3798,
Section 2.2, and has the following meaning:  </t>
            <t>
Parameters with an importance of "Optional" permit a UA that does
not understand the particular options parameter to still generate
an MDN in response to a request for a MDN.  </t>
            <t>
A UA that does not understand the "signed-receipt-protocol"
parameter or the "signed-receipt-micalg" will obviously not return
a signed receipt.  </t>
            <t>
The importance of "Optional" is used for the signed receipt
parameters because it is RECOMMENDED that an MDN be returned to
the requesting trading partner even if the recipient could not
sign it.  </t>
            <t>
The returned MDN will contain information on the disposition of
the message and on why the MDN could not be signed. See the
Disposition field in <xref format="none" target="disposition-mode-type-and-modifier">Section 8.5</xref>
for more information.  </t>
            <t>
Within an EDI trading relationship, if a signed receipt is
expected and is not returned, then the validity of the transaction
is up to the trading partners to resolve.  </t>
            <t>
In general, if a signed receipt is required in the trading
relationship and is not received, the transaction will likely
be considered invalid.</t>
          </li>
        </ol>
        <section anchor="signed-receipt-considerations">
          <name>Signed Receipt Considerations</name>
          <t>The method used to request a receipt or a signed receipt is defined
   in RFC 3798, "An Extensible Message Format for Message Disposition
   Notifications".</t>
          <t>The "rules" are as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>When a receipt is requested, explicitly specifying that the
receipt be signed, then the receipt MUST be returned with a
signature.</t>
            </li>
            <li>
              <t>When a receipt is requested, explicitly specifying that the
receipt be signed, but the recipient cannot support either the
requested protocol format or the requested MIC algorithms, then
either a signed or unsigned receipt SHOULD be returned.</t>
            </li>
            <li>
              <t>When a signature is not explicitly requested, or if the signed
receipt request parameter is not recognized by the UA, then no
receipt, an unsigned receipt, or a signed receipt MAY be returned
by the recipient.</t>
            </li>
          </ol>
          <t>NOTE: For Internet EDI, it is RECOMMENDED that when a signature is
   not explicitly requested, or if parameters are not recognized, the UA
   send back, at a minimum, an unsigned receipt. If, however, a signed
   receipt was always returned as a policy, whether requested or not,
   then any false unsigned receipts can be repudiated.</t>
          <t>When a request for a signed receipt is made, but there is an error in
   processing the contents of the message, a signed receipt MUST still
   be returned. The request for a signed receipt SHALL still be
   honored, though the transaction itself may not be valid. The reason
   why the contents could not be processed MUST be set in the
   "disposition-field".</t>
          <t>When a signed receipt request is made, the "Received-content-MIC"
   MUST always be returned to the requester (except when corruption
   prevents computation of the digest in accordance with the following
   specification). The "Received-content-MIC" MUST be calculated as
   follows:</t>
          <artwork><![CDATA[
  o  For any signed messages, the MIC to be returned is calculated
     on the RFC1767/RFC3023 MIME header and content.
     Canonicalization on the MIME headers MUST be performed before
     the MIC is calculated, since the sender requesting the signed
     receipt was also REQUIRED to canonicalize.

  o  For encrypted, unsigned messages, the MIC to be returned is
     calculated on the decrypted RFC 1767/RFC3023 MIME header and
     content. The content after decryption MUST be canonicalized
     before the MIC is calculated.

  o  For unsigned, unencrypted messages, the MIC MUST be calculated
     over the message contents without the outer MIME or any other RFC
     5322 headers, since these may sometimes be altered or reordered by
     intermediary user agents or proxies.
]]></artwork>
        </section>
      </section>
      <section anchor="mdn-format-and-values">
        <name>MDN Format and Values</name>
        <t>This section defines the format of the AS2 Message Disposition
   Notification (AS2-MDN).</t>
        <section anchor="as2-mdn-general-formats">
          <name>AS2-MDN General Formats</name>
          <sourcecode type="abnf"><![CDATA[
AS2-MDN = AS2-sync-MDN | AS2-async-http-MDN

AS2-sync-MDN =
   Status-Line
   *(( general-header | response-header | entity-header )
     CRLF )
   CRLF
   AS2-MDN-body

Status-Line =
   HTTP-Version SP Status-Code SP Reason-Phrase CRLF

AS2-async-http-MDN =
   Request-Line
   *(( general-header | request-header | entity-header )
     CRLF )
   CRLF
   AS2-MDN-body

Request-Line =
   Method SP Request-URI SP HTTP-Version CRLF

AS2-MDN-body =
   AS2-signed-MDN-body | AS2-unsigned-MDN-body
]]></sourcecode>
        </section>
        <section anchor="as2-mdn-construction">
          <name>AS2-MDN Construction</name>
          <t>The AS2-MDN-body is formatted as a MIME multipart/report with a
   report-type of "disposition-notification". When the message is
   unsigned, the transfer-layer ("outermost") entity-headers of the
   AS2-MDN contain the content-type header that specifies a content-type
   of "multipart/report" and parameters indicating the report-type, and
   the value of the outermost multipart boundary.</t>
          <t>When the AS2-MDN is signed, the transfer-layer ("outermost") entity-
   headers of the AS2-MDN contain a content-type header that specifies a
   content-type of "multipart/signed" and parameters indicating the
   algorithm used to compute the message digest, the signature-
   formatting protocol (e.g., pkcs7-signature), and the value of the
   outermost multipart boundary. The first part of the MIME
   multipart/signed message is an embedded MIME multipart/report of type
   "disposition-notification". The second part of the multipart/signed
   message contains a MIME application/pkcs7-signature message.</t>
          <t>The first part of the MIME multipart/report is a "human-readable"
   portion containing a general description of the message
   disposition. The second part of the MIME multipart/report is a
   "machine-readable" portion that is defined as:</t>
          <sourcecode type="abnf"><![CDATA[
AS2-disposition-notification-content =
    reporting-ua-field CRLF
    mdn-gateway-field CRLF
    final-recipient-field CRLF
    original-message-id-field CRLF
    AS2-disposition-field CRLF
    *( failure-field CRLF )
    *( error-field CRLF )
    *( warning-field CRLF )
    *( extension-field CRLF )
    AS2-received-content-MIC-field CRLF
]]></sourcecode>
        </section>
        <section anchor="as2-mdn-fields">
          <name>AS2-MDN Fields</name>
          <t>The rules for constructing the AS2-disposition-notification content
   are identical to the disposition-notification-content rules provided
   in Section 7 of RFC 3798 <xref target="RFC3798"/>, except that the RFC 3798 disposition-
   field has been replaced with the AS2-disposition-field and that the
   AS2-received-content-MIC field has been added. The differences
   between the RFC 3798 disposition-field and the AS2-disposition-field
   are described below. Where there are differences between this
   document and RFC 3798, those entity names have been changed by
   pre-pending "AS2-". Entities that do not differ from RFC 3798 are not
   necessarily further defined in this document; refer to RFC 3798,
   Section 7, "Collected Grammar", for the original grammar.</t>
          <sourcecode type="abnf"><![CDATA[
AS2-disposition-field =
    "Disposition" ":" disposition-mode ";"
    AS2-disposition-type "/" AS2-disposition-modifier

disposition-mode =
    action-mode "/" sending-mode

action-mode =
    "manual-action" | "automatic-action"

sending-mode =
    "MDN-sent-manually" | "MDN-sent-automatically"

AS2-disposition-type =
    "processed" | "failed"

AS2-disposition-modifier =
    ( "error" | "warning" ) | AS2-disposition-modifier-extension

AS2-disposition-modifier-extension =
    "error: authentication-failed" |
    "error: decompression-failed" |
    "error: decryption-failed" |
    "error: duplicate-filename" |
    "error: illegal-filename" |
    "error: insufficient-message-security" |
    "error: integrity-check-failed" |
    "error: invalid-message-id" |
    "error: unexpected-processing-error" |
    "error: unknown-trading-relationship" |
    "warning: " AS2-MDN-warning-description |
    "failure: " AS2-MDN-failure-description

AS2-MDN-warning-description = *( TEXT )

AS2-MDN-failure-description = *( TEXT )

AS2-received-content-MIC-field =
    "Received-content-MIC" ":" encoded-message-digest ","
    digest-alg-id CRLF

encoded-message-digest =
    1*( 'A'-'Z' | 'a'-'z' | '0'-'9' | '/' | '+' | '=' )
    ; i.e., base64(message-digest)

digest-alg-id = "sha-256" | "sha-384" | "sha-512" | "sha-1" | "sha1"
                 ; The "sha1" is a legacy spelling of the "sha-1" defined hash in the IANA Textual Names Registry
                 ; It should be maintained for backwards compatibility
                 ; sha1 | sha-1 should only be used by legacy deployments that cannot support sha-256 or greater
]]></sourcecode>
          <t>To improve error reporting and interoperability, this specification
   introduces additional standardized disposition modifiers beyond those
   defined in <xref target="RFC4130"/> and <xref target="RFC8098"/>.</t>
          <t>These modifiers are used to indicate specific failure conditions that
   cannot be adequately represented by the existing error codes and may
   not be compatible with earlier implementations of AS2
   Implementations MUST include a human-readable explanation in the MDN
   <tt>Explanation</tt> field when returning these modifiers.</t>
          <t>Future modifiers may be registered through the IANA registry for
   AS2 Disposition Values and Modifiers (see Section 11).</t>
          <t>The "Received-content-MIC" extension field is set when the integrity
   of the received message is verified. The MIC is the base64-encoded
   message-digest computed over the received message using a hash
   function. This field is required for signed receipts but optional
   for unsigned receipts. For details defining the specific content
   over which the message digest is to be computed, see <xref format="none" target="signed-receipt-considerations">Section 8.3.1</xref>
   of this document.</t>
          <t>For signed messages, the algorithm used to calculate the MIC MUST be
   the same as that used on the message that was signed. If the message
   is not signed, then the SHA-256 algorithm SHOULD be used. SHA-1 MAY be
   used only for legacy interoperability (see Appendix B). This field
   is set only when the contents of the message are processed
   successfully. This field is used in conjunction with the recipient's
   signature on the MDN so that the sender can verify non-repudiation of
   receipt.</t>
          <t>AS2-MDN field names (e.g., "Disposition:", "Final-Recipient:") are
   case insensitive (cf. RFC 3798, Section 3.1.1). AS2-MDN action-
   modes, sending-modes, AS2-disposition-types, and AS2-disposition-
   modifier values, which are defined above, and user-supplied *( TEXT )
   values are also case-insensitive. AS2 implementations MUST NOT make
   assumptions regarding the values supplied for AS2-MDN-warning-
   description or AS2-MDN-failure-description, or for the values of any
   (optional) error, warning, or failure fields.</t>
        </section>
        <section anchor="as2-mdn-field-requirements">
          <name>AS2-MDN Field Requirements</name>
          <t>The following fields have clarified requirements for interoperability:</t>
          <t>o <strong>Final-Recipient</strong> — This field <strong>MUST</strong> always be present in an MDN
     and MUST identify the AS2-To value of the original message.</t>
          <t>o <strong>Original-Message-ID</strong> — This field is <strong>REQUIRED</strong> and MUST exactly
     match the <tt>Message-ID</tt> of the original message as transmitted.
     <tt>Message-ID</tt> in the MDN itself is optional.</t>
          <t>o <strong>Disposition-Notification-To</strong> — Implementations <strong>MAY</strong> include this
     field using an email address, URL, hostname, or other identifier as
     appropriate to the system.  However, as specified in <xref target="RFC4130"/>, receiving
     applications <strong>MUST</strong> ignore this field and <strong>MUST NOT</strong> reject a message
     due to syntax or address format violations.  The field is retained for
     compatibility with prior implementations.</t>
        </section>
        <section anchor="additional-as2-mdn-programming-notes">
          <name>Additional AS2-MDN Programming Notes</name>
          <t>o  For HTTP transactions, Original-Recipient and Final-Recipient
      SHOULD not be different.  The value in Original-Message-ID SHOULD
      match the original Message-ID header value.</t>
          <t>o  Refer to RFC 3798 for the formatting of the MDN, except for the
      specific deviations mentioned above.</t>
          <t>o  Refer to RFC 3462 and RFC 3798 for the formatting of the content-
      type entity-headers for the MDN.</t>
          <t>o  Use an action-mode of "automatic-action" when the disposition
      described by the disposition type was a result of an automatic
      action rather than that of an explicit instruction by the user for
      this message.</t>
          <t>o  Use an action-mode of "manual-action" when the disposition
      described by the disposition type was a result of an explicit
      instruction by the user rather than some sort of automatically
      performed action.</t>
          <t>o  Use a sending-mode of "MDN-sent-automatically" when the MDN is
      sent because the UA had previously been configured to do so.</t>
          <t>o  Use a sending-mode of "MDN-sent-manually" when the user explicitly
      gave permission for this particular MDN to be sent.</t>
          <t>o  The sending-mode "MDN-sent-manually" is meaningful ONLY with
      "manual-action", not with "automatic-action".</t>
          <t>o  The "failed" disposition type MUST NOT be used for the situation
      in which there is some problem in processing the message other
      than interpreting the request for an MDN. The "processed" or
      other disposition type with appropriate disposition modifiers is
      to be used in such situations.</t>
        </section>
      </section>
      <section anchor="disposition-mode-type-and-modifier">
        <name>Disposition Mode, Type, and Modifier</name>
        <section anchor="disposition-mode-overview">
          <name>Disposition Mode Overview</name>
          <t>This section provides a brief overview of how "processed", "error",
   "failure", and "warning" are used.</t>
        </section>
        <section anchor="successful-processing-status-indication">
          <name>Successful Processing Status Indication</name>
          <t>When the request for a receipt or signed receipt, and the received
   message contents are successfully processed by the receiving EDI UA,
   a receipt or MDN SHOULD be returned with the disposition-type set to
   "processed". When the MDN is sent automatically by the EDI UA, and
   there is no explicit way for a user to control the sending of the
   MDN, then the first part of the "disposition-mode" SHOULD be set to
   "automatic-action". When the MDN is being sent under user-
   configurable control, then the first part of the "disposition-mode"
   SHOULD be set to "manual-action". Since a request for a signed
   receipt should always be honored, the user MUST not be allowed to
   configure the UA to disallow sending of a signed receipt when the sender
   requests one.</t>
          <t>The second part of the disposition-mode is set to "MDN-sent-manually"
   if the user gave explicit permission for the MDN to be sent. Again,
   the user MUST not be allowed to explicitly refuse to send a signed
   receipt when the sender requests one. The second part of the
   "disposition-mode" is set to "MDN-sent-automatically" whenever the
   EDI UA sends the MDN automatically, regardless of whether the sending
   was under the control of a user, administrator, or the software.</t>
          <t>Because EDI content is generally handled automatically by the EDI UA,
   a request for a receipt or signed receipt will generally return the
   following in the "disposition-field":</t>
          <artwork><![CDATA[
   Disposition: automatic-action/MDN-sent-automatically; processed
]]></artwork>
          <t>Note that this specification does not restrict the use of the
   "disposition-mode" just to automatic actions. Manual actions are
   valid as long as it is kept in mind that a request for a signed
   receipt MUST be honored.</t>
        </section>
        <section anchor="unsuccessful-processed-content">
          <name>Unsuccessful Processed Content</name>
          <t>The request for a signed receipt requires the use of two
   "disposition-notification-options", which specify the protocol format
   of the returned signed receipt, and the MIC algorithm used to
   calculate the MIC over the message content. The "disposition-field"
   values that should be used if the message content is being rejected
   or ignored (for instance, if the EDI UA determines that a signed
   receipt cannot be returned because it does not support the requested
   protocol format, the EDI UA chooses not to process the message
   contents itself) MUST be specified in the MDN "disposition-field" as
   follows:</t>
          <artwork><![CDATA[
   Disposition: "disposition-mode";  failed/Failure: unsupported format
]]></artwork>
          <t>The "failed" AS2-disposition-type MUST be used when a failure occurs
   that prevents the proper generation of an MDN. For example, this
   disposition-type would apply if the sender of the message requested
   the application of an unsupported message-integrity-check (MIC)
   algorithm.</t>
          <t>The "failure:" AS2-disposition-modifier-extension SHOULD be used with
   an implementation-defined description of the failure. Further
   information about the failure may be contained in a failure-field.</t>
          <t>The syntax of the "failed" disposition-type is general, allowing the
   sending of any textual information along with the "failed"
   disposition-type. Implementations MUST support any printable textual
   characters after the Failure disposition-type. For use in Internet
   EDI, the following "failed" values are pre-defined and MUST be
   supported:</t>
          <artwork><![CDATA[
   "Failure: unsupported format"
   "Failure: unsupported MIC-algorithms"
]]></artwork>
        </section>
        <section anchor="unsuccessful-non-content-processing">
          <name>Unsuccessful Non-Content Processing</name>
          <t>When errors occur in processing the received message (other than
   content), the "disposition-field" MUST be set to the "processed"
   value for disposition-type and the "error" value for disposition-
   modifier.</t>
          <t>The "error" AS2-disposition-modifier with the "processed"
   disposition-type MUST be used to indicate that an error of some sort
   occurred that prevented successful processing of the message.
   Further information may be contained in an error-field.</t>
          <t>An "error:" AS2-disposition-modifier-extension SHOULD be used to
   combine the indication of an error with a predefined description of a
   specific, well-known error. Further information about the error may
   be contained in an error field.</t>
          <t>For internet EDI use, the following "error" AS2-disposition-modifier
   values are defined:</t>
          <sourcecode type="text"><![CDATA[
   o "Error: authentication-failed"         - the receiver could not
                                              authenticate the sender.

   o "Error: decompression-failed"          - the receiver could not
                                              decompress the message
                                              contents.

   o "Error: decryption-failed"             - the receiver could not
                                              decrypt the message
                                              contents.
   o "Error: duplicate-filename"            - the message payload contained
                                              a filename already received
                                              by the backend server.

   o "Error: illegal-filename"              - the message payload contained
                                              a filename that could nor be
                                              processed by the backend server.

   o "Error: insufficient-message-security" - the content of the message
                                              was not appropriately enveloped
                                              according to the agreed-upon
                                              message security.

   o "Error: integrity-check-failed"        - the receiver could not
                                              verify content integrity.

   o "Error: invalid-message-id"            - the receiver could not
                                              parse the value of the
                                              Message-ID header because it
                                              was not syntactically correct.

   o "Error: unexpected-processing-error"   - a catch-all for any
                                              additional processing
                                              errors.

   o "Error: unknown-trading-relationship"   - the receiver could not
                                              correlate the AS2-To/AS2-From
                                              header values to values known
                                              to the system.
]]></sourcecode>
          <t>An example of how the "disposition-field" would look when errors
   other than those in content processing are detected is as follows:</t>
          <artwork><![CDATA[
   Disposition: "disposition-mode"; processed/Error: decryption-failed
]]></artwork>
        </section>
        <section anchor="processing-warnings">
          <name>Processing Warnings</name>
          <t>Situations arise in EDI when, even if a trading partner cannot be
   authenticated correctly, the trading partners still agree to continue
   processing the EDI transactions. Transaction reconciliation is done
   between the trading partners at a later time. In the content
   processing warning situations as described above, the "disposition-
   field" MUST be set to the "processed" disposition-type value, and the
   "warning" to the "disposition-modifier" value.</t>
          <t>The "warning" AS2-disposition-modifier MUST be used with the
   "processed" disposition-type to indicate that the message was
   successfully processed but that an exceptional condition occurred.
   Further information may be contained in a warning-field.</t>
          <t>A "warning:" AS2-disposition-modifier-extension SHOULD be used to
   combine the indication of a warning with an implementation-defined
   description of the warning.  Further information about the warning
   may be contained in a warning-field.</t>
          <t>For use in Internet EDI, the following "warning"
   disposition-modifier-extension value is defined:</t>
          <artwork><![CDATA[
   "Warning: authentication-failed, processing continued"
]]></artwork>
          <t>An example of how the "disposition-field" would look when warning
   other than those for content processing are detected is as follows:</t>
          <t>Example:</t>
          <artwork><![CDATA[
   Disposition: "disposition-mode"; processed/Warning:
     authentication-failed, processing continued
]]></artwork>
        </section>
        <section anchor="backward-compatibility-with-disposition-type-modifier-and-extension">
          <name>Backward Compatibility with Disposition Type, Modifier, and Extension</name>
          <t>The following set of examples represents typical constructions of the
   Disposition field that have been in use by AS2 implementations.  This
   is NOT an exhaustive list of possible constructions. However, AS2
   implementations MUST accept constructions of this type to be backward
   compatible with earlier AS2 versions.</t>
          <artwork><![CDATA[
  Disposition: automatic-action/MDN-sent-automatically; processed

  Disposition: automatic-action/MDN-sent-automatically;
  processed/error: authentication-failed

  Disposition: automatic-action/MDN-sent-automatically;
  processed/warning: duplicate-document

  Disposition: automatic-action/MDN-sent-automatically;
  failed/failure: sender-equals-receiver
]]></artwork>
          <t>The following set of examples represents allowable constructions of
   the Disposition field that combine the historic constructions above
   with optional RFC 3798 error, warning, and failure fields. AS2
   implementations MAY produce these constructions. However, AS2
   servers are not required to recognize or process optional error,
   warning, or failure fields at this time. Note that the use of the
   multiple error fields in the second example below provides for the
   indication of multiple error conditions.</t>
          <artwork><![CDATA[
  Disposition: automatic-action/MDN-sent-automatically; processed

  Disposition: automatic-action/MDN-sent-automatically;
    processed/error: decryption-failed
  Error: The signature did not decrypt into a valid PKCS#1
    Type-2 block.
  Error: The length of the decrypted key does not equal the
    octet length of the modulus.

  Disposition: automatic-action/MDN-sent-automatically;
    processed/warning: duplicate-document
  Warning: An identical message already exists at the
    destination server.

  Disposition: automatic-action/MDN-sent-automatically;
    failed/failure: sender-equals-receiver
  Failure: The AS2-To name is identical to the AS2-From name.
]]></artwork>
          <t>The following set of examples represents allowable constructions of
   the Disposition field that employ pure RFC 3798 Disposition-modifiers
   with optional error, warning, and failure fields. These examples are
   provided as informational only. These constructions are not
   guaranteed to be backward compatible with AS2 implementations prior
   to version 1.1.</t>
          <artwork><![CDATA[
  Disposition: automatic-action/MDN-sent-automatically; processed

  Disposition: automatic-action/MDN-sent-automatically; processed/error
  Error: authentication-failed
  Error: The signature did not decrypt into a valid PKCS#1 Type-2 block.
  Error: The length of the decrypted key does not equal the octet length of the modulus.

  Disposition: automatic-action/MDN-sent-automatically; processed/warning
  Warning: duplicate-document

  Disposition: automatic-action/MDN-sent-automatically; failed
  Failure: sender-equals-receiver
]]></artwork>
        </section>
      </section>
      <section anchor="receipt-reply-considerations-in-an-http-post">
        <name>Receipt Reply Considerations in an HTTP POST</name>
        <t>The details of the response to the POST command vary depending upon
   whether a receipt has been requested.</t>
        <t>With no extended header requesting a receipt, and with no errors
   accessing the request-URI specified processing, the status line in
   the Response to the POST request SHOULD be in the 200 range. Status
   codes in the 200 range SHOULD also be used when an entity is returned
   (a signed receipt in a multipart/signed content type or an unsigned
   receipt in a multipart/report). Even when the disposition of the
   data was an error condition at the authentication, decryption or
   other higher level, the HTTP status code SHOULD indicate success at
   the HTTP level.</t>
        <t>The HTTP server application may respond with an unsolicited
   multipart/report as a message body that the HTTP client might not
   have solicited, but the client may discard this. Applications SHOULD
   avoid emitting unsolicited receipt replies because bandwidth or
   processing limitations might have led administrators to suspend
   asking for acknowledgements.</t>
        <t>Message Disposition Notifications, when used in the HTTP reply context,
   follow the same semantics as those defined in <xref target="RFC3798"/>. For example, the
   disposition field is a required element in the machine-readable
   second part of a multipart/report for a MDN. The final-recipient-
   field (<xref target="RFC3798"/>, Section 3.1) value SHOULD be derived from the entity
   headers of the request.</t>
        <t>In an MDN, the first part of the multipart/report (the human-readable
   portion) SHOULD include items such as the subject, the date, and other
   information when those fields are present in entity header fields
   following the POST request. An application MUST report the Message-
   ID of the request in the second part of the multipart/report (the
   machine-readable portion). Also, an MDN SHOULD have its own unique
   Message-ID HTTP header. The HTTP reply SHOULD normally omit the
   third optional part of the multipart/report (this was historically
   used to return the original message or its headers within the SMTP context).</t>
      </section>
    </section>
    <section anchor="public-key-certificate-handling">
      <name>Public Key Certificate Handling</name>
      <t>The initial exchange and certification of public keys are essential
   steps in establishing a secure trading partnership.  This process MAY
   occur manually during partner onboarding or automatically through
   supported mechanisms such as the <strong>AS2 GET</strong> method (see Section 9.2).
   Implementations MUST maintain a database of public keys used for encryption
   and signature verification, together with the mapping between the EDI
   trading partner identifier and its associated RFC 5322 <xref target="RFC5322"/> email
   address and HTTP URL/URI. The exact procedures for establishing and
   configuring secure AS2 messaging can vary among trading partners and
   software implementations.</t>
      <t>X.509 certificates are REQUIRED. It is RECOMMENDED that trading
   partners self-certify each other if an agreed-upon certification
   authority is not used. This applicability statement does NOT require
   the use of a certification authority (CA) and the use of a CA
   is therefore OPTIONAL. Certificates MAY be self-signed.</t>
      <t>It is RECOMMENDED that when trading partners are using S/MIME they
   also exchange public key certificates, considering the advice provided in
   <xref target="RFC3850"/>.</t>
      <t>The message formats useful for certificate exchange are found in <xref target="RFC3851"/>
   and <xref target="RFC3852"/>.</t>
      <section anchor="certificate-roles-and-requirements">
        <name>Certificate Roles and Requirements</name>
        <t>While TLS certificates and AS2 message-signing certificates both use the
   X.509 standard, they serve distinct purposes and MUST be managed
   separately:</t>
        <ul spacing="normal">
          <li>
            <t><strong>TLS Certificates</strong> are used solely to secure the HTTPS transport
channel. They establish session-level confidentiality and integrity and
SHOULD be issued by a trusted certification authority (CA) in production
environments. Self-signed TLS certificates MAY be used for testing or by
explicit agreement between trading partners, provided they include a
<strong>Subject Alternative Name (SAN)</strong> extension containing the hostname
and/or IP address. The SAN extension MUST be marked as non-critical.</t>
          </li>
          <li>
            <t><strong>AS2 Certificates</strong> are used for signing and encrypting AS2 messages
and SHOULD NOT be the same as the TLS certificate. Separation ensures that
a compromise of the transport layer does not affect message-level
security. AS2 certificates MAY be CA-issued or self-signed, depending on
organizational policy and trading-partner agreements.</t>
          </li>
        </ul>
        <t>AS2 certificates MUST use a key length of at least <strong>2048 bits for RSA
   keys</strong>.  For elliptic-curve certificates, the selected curve MUST provide
   equivalent or stronger security (e.g., P-256 or higher).</t>
        <t>Although short certificate lifetimes are now common in the TLS ecosystem
   due to CA/Browser Forum requirements and industry regulations, AS2 certificates
   generally do not require the same frequency of renewal. AS2 systems handle far fewer
   encrypted transactions than high-volume web servers, and certificate
   rollover can be operationally complex.  Implementations SHOULD allow
   independent lifetime policies for AS2 and TLS certificates.</t>
      </section>
      <section anchor="certificate-exchange-and-renewal">
        <name>Certificate Exchange and Renewal</name>
        <t>Automated certificate management significantly reduces operational risk.
   Implementations SHOULD support <strong>Certificate Exchange Messaging (CEM)</strong>
          <xref target="RFC6017"/> to enable secure, automated exchange of AS2 certificates between
   trading partners.  When CEM is not available, manual exchange processes
   MUST ensure integrity and authentication of keys prior to activation.</t>
        <t>The <strong>AS2 GET</strong> method MAY be used for initial retrieval of partner
   certificates if protected by appropriate authentication (for example,
   Basic Authentication). Implementations using AS2 GET MUST ensure that
   certificate delivery is integrity-protected and that access is restricted
   to authorized partners.</t>
      </section>
      <section anchor="operational-guidance">
        <name>Operational Guidance</name>
        <ul spacing="normal">
          <li>
            <t>TLS and AS2 certificates MUST be managed separately.</t>
          </li>
          <li>
            <t>CEM SHOULD be supported to reduce manual errors and configuration drift.</t>
          </li>
          <li>
            <t>Self-signed certificates SHOULD include SAN extensions for clarity and
validation consistency.</t>
          </li>
          <li>
            <t>Implementations SHOULD support configurable expiration and notification
mechanisms for certificate renewal.</t>
          </li>
          <li>
            <t>Administrators SHOULD avoid reusing TLS certificates as AS2 certificates,
even when technically possible.</t>
          </li>
        </ul>
        <t>For security and algorithm lifecycle considerations, see
   <xref target="algorithm-requirements">Section 7</xref> and
   <xref target="security-considerations">Section 10</xref>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This entire document is concerned with secure transport of business data,
   covering confidentiality, authentication, and non-repudiation.</t>
      <t>Cryptographic algorithms used for signatures, MIC calculations, and
   encryption are subject to modernization and deprecation guidance.
   The definitive algorithm requirements (for hash functions and
   encryption) are specified in <xref format="none" target="algorithm-requirements">Section 7</xref>.
   This section provides security rationale and additional guidance.</t>
      <t>Legacy algorithms such as SHA-1, MD5, 3DES, and RC2 are deprecated
   due to known weaknesses. Implementations MUST NOT generate these
   algorithms in new deployments. However, legacy use cases may still be
   encountered when interoperating with older systems conforming to
   <xref target="RFC4130"/>. See Appendix B for clarifications on legacy interoperability.</t>
      <t>Modern implementations are expected to support strong algorithms such
   as SHA-256 or stronger for MIC calculations, and AES (128-bit or
   greater) for encryption. Implementations SHOULD also support advanced
   AES modes such as AES-GCM and AES-CCM for improved efficiency and
   authenticated encryption. See <xref target="RFC8551"/> for details.</t>
      <t>Implementations must ensure robust handling of all cryptographic
   failures. Administrators are encouraged to monitor IETF and NIST
   publications for algorithm lifecycle updates and to update deployed
   systems accordingly. These compatibility allowances are described in more detail in
   <xref format="none" target="backward-compatibility-and-interoperability">Section 1.2</xref> and
   <xref format="none" target="legacy-interoperability-non-normative">Appendix B</xref>.</t>
      <t>When processing certificates, failures such as expired, revoked, or
   untrusted certificates MUST result in immediate and noticeable error
   reporting. See <xref target="RFC3280"/> and <xref target="RFC8551"/> for guidance on certificate
   path validation. For guidance on certificate management, key exchange,
   and renewal, including use of Certificate Exchange Messaging (CEM) and
   AS2 GET, see <xref target="public-key-certificate-handling">Section 9</xref>.</t>
      <section anchor="https-tls-reqs">
        <name>HTTPS and TLS Requirements</name>
        <t><strong>Consensus Update:</strong>
   Implementations <strong>MUST</strong> support TLS 1.2 or higher and <strong>SHOULD</strong> support TLS 1.3.
   TLS 1.3 is strongly encouraged as the default where platform support allows, but TLS 1.2
   remains the mandatory baseline to ensure interoperability with older environments (e.g., legacy JVMs).
   Products SHOULD allow administrators to configure which TLS versions are enabled, so that TLS 1.3 can be
   mandated by policy where required. Future revisions of this specification are expected to mandate TLS 1.3
   as the minimum required version once deployment is widespread.</t>
        <t>Administrators SHOULD use only cipher suites listed as “Recommended (Y)” in the
   <eref target="https://www.iana.org/assignments/tls-parameters">IANA TLS Parameters</eref> registry.
   Implementations SHOULD provide configurable cipher selection rather than hardcoding cipher lists.</t>
        <t>New implementations of AS2 <strong>SHOULD</strong> use HTTPS as the default transport
   protocol to provide confidentiality and integrity in transit. Plain HTTP
   remains permitted to support message-level encryption and backward
   compatibility with existing deployments.</t>
        <t>This guidance promotes strong encryption, aligns with current best practices,
   and ensures that AS2 remains interoperable with existing deployments while
   allowing administrators to phase out weaker protocols and cipher suites over time.</t>
        <t><strong>Future Considerations</strong>
   Per BCP 195/RFC 7525bis, new IETF protocols and major revisions are expected to mandate TLS 1.3.
   AS2-bis is a backward-compatible revision, and therefore specifies MUST support of TLS 1.2 and SHOULD
   support of TLS 1.3 to preserve interoperability with existing implementations. At the same time, implementers
   are strongly encouraged to deploy TLS 1.3 as the default for all new products and configurations.
   Future versions of AS2 (for example, a potential AS2-Version 1.3 or subsequent update) are expected to raise
   the baseline to MUST support TLS 1.3 or higher, and may deprecate TLS 1.2 once widespread deployment
   makes this feasible. Implementers are encouraged to prepare for a future revision of this specification
   that will mandate TLS 1.3 as the minimum required version.</t>
      </section>
      <section anchor="tls-server-certificates">
        <name>TLS Server Certificates</name>
        <t>The following certificate types MUST be supported for TLS server
   certificates:</t>
        <artwork><![CDATA[
  o  with URL in the Distinguished Name Common Name attribute

  o  without URL in the Distinguished Name Common Name attribute

  o  self-signed (self-issued)

  o  issued by a certification authority (CA)
]]></artwork>
        <t>The URL, which matches the source server identity, SHOULD be carried
   in the certificate. However, it is not required that DNS checks or
   reverse lookups to vouch for the accuracy of the URL or server value.</t>
        <t>The complete certification chain MUST be included in all
   certificates.  All certificate verifications MUST "chain to root" or
   to an accepted trust anchor. Additionally, the certificate hash
   SHOULD match the hash recomputed by the receiver.</t>
        <t>Because server certificates are exchanged, and also trust is
   established during the configuration of the trading partner
   relationship, runtime validation (including hostname matching and
   certificate path validation) SHOULD be performed unless an out-of-band
   trust model has been explicitly agreed upon by trading partners.
   If a self-signed TLS certificate is used, it SHOULD contain a Subject Alternative Name (SAN)
   extension that includes the hostname and/or IP address of the sender.
   If included, this certificate extension MUST be marked as non-critical.</t>
        <t><strong>Note:</strong> Although not restricted by this specification, self-signed TLS certificates should
   be used with great care, especially in production environments.</t>
      </section>
      <section anchor="nrr-cautions">
        <name>NRR Cautions</name>
        <t>This specification seeks to provide multiple mechanisms that can be
   combined in accordance with local policies to achieve a wide range of
   security needs as determined by threat and risk analyses of the
   business peers. It is required that all these mechanisms be
   implemented by AS2 software so that the software has capabilities
   that promote strong interoperability, no matter what policies are
   adopted.</t>
        <t>One strong cluster of mechanisms (the secure transmission loop) can
   provide good support for meeting the evidentiary needs of non-
   repudiation of receipt by the original sender and by a third party
   supplied with all stated evidence. However, this specification does
   not itself define non-repudiation of receipt nor enumerate its
   essential properties because NRR is a business analysis and/or legal
   requirement, and not relevantly defined by a technical applicability
   statement.</t>
        <t>Some analyses observe that non-repudiation of receipt presupposes
   that non-repudiation of the sender of the original message is
   obtained, and further that non-repudiation should be implemented by
   means of digital signature on the original message. To satisfy
   strict NRR evidence, authentication and integrity MUST be provided by
   some mechanism, and the RECOMMENDED mechanism is digital signatures
   on both the original message and the receipt message.</t>
        <t>Given that this specification has selected several mechanisms that
   can be combined in several ways, it is important to realize that if a
   digital signature is omitted from the original message, in order to
   satisfy the preceding analysis of NRR requirements, some
   authentication mechanism MUST accompany the request for a signed
   receipt and its included Received-content-MIC value. This
   authentication might come from using client-side SSL, authentication
   via IPsec, or HTTP authentication (while using SSL). In any case,
   records of the message content, its security basis, and the digest
   value need to be retained for the NRR process.</t>
        <t>Therefore, if NRR is one of the goals of the policy that is adopted,
   by using the mechanisms of the secure transmission loop mentioned
   above and by retaining appropriate records of authentication at the
   original message sender site, strong evidentiary requirements
   proposed for NRR can be fulfilled.</t>
        <t>Other ways of proceeding may fall short of fulfilling the most
   stringent sets of evidence required for NRR to obtain, but may
   nevertheless be part of a commercial trading agreement and, as such,
   are good enough for the parties involved. However, if MDNs are
   returned unsigned, evidentiary requirements for NRR are weak; some
   authentication of the identity of the receiver is needed.</t>
        <t>If TLS is used for transport, the guidance in <xref format="none" target="https-tls-reqs">Section 10.1</xref> applies.</t>
      </section>
      <section anchor="replay-remark">
        <name>Replay Remark</name>
        <t>Because business data documents normally contain transaction ids,
   replays (such as resends of not-yet-acknowledged messages) are
   discarded as part of the normal process of duplicate detection.
   Detection of duplicates by Message-Id or by business transaction
   identifiers is recommended.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to update the following registries:</t>
      <t>o MDN Disposition Modifier Names
     https://www.iana.org/assignments/mdn/mdn.xhtml#disposition-modifier</t>
      <t>o Message Disposition Notification Parameters
     https://www.iana.org/assignments/mdn/mdn.xhtml#parameters</t>
      <section anchor="registration">
        <name>Registration</name>
        <t>RFC 4130 originally defined an extension to the Message Disposition Notification (MDN)
   protocol for a disposition-modifier in the Disposition field of a body of
   content-type "message/disposition-notification".</t>
        <t>This document updates that definition, and IANA is requested to replace RFC 4130 with this
   document as the reference for the MDN Disposition Modifier Names registry.</t>
        <section anchor="disposition-modifier-warning">
          <name>Disposition Modifier 'warning'</name>
          <sourcecode type="text"><![CDATA[
   Parameter-name:  warning
   Semantics: See [Section 8.4.3](#as2-mdn-fields){:format="none"} and
   [Section 8.5.5](#processing-warnings){:format="none"} in this document.
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Carl Hage, Karen Rosenfeld, Chuck Fenton, and many others
   provided valuable suggestions during the initial review of RFC 4130
   that improved that applicability statement and this bis specification.
   The authors would also like to thank the past and current vendors who
   have participated in the Drummond AS2 interoperability testing.
   Their contributions have ultimately led to great improvement in the clarity
   of this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4130">
          <front>
            <title>MIME-Based Secure Peer-to-Peer Business Data Interchange Using HTTP, Applicability Statement 2 (AS2)</title>
            <author fullname="D. Moberg" initials="D." surname="Moberg"/>
            <author fullname="R. Drummond" initials="R." surname="Drummond"/>
            <date month="July" year="2005"/>
            <abstract>
              <t>This document provides an applicability statement (RFC 2026, Section 3.2) that describes how to exchange structured business data securely using the HTTP transfer protocol, instead of SMTP; the applicability statement for SMTP is found in RFC 3335. Structured business data may be XML; Electronic Data Interchange (EDI) in either the American National Standards Committee (ANSI) X12 format or the UN Electronic Data Interchange for Administration, Commerce, and Transport (UN/EDIFACT) format; or other structured data formats. The data is packaged using standard MIME structures. Authentication and data confidentiality are obtained by using Cryptographic Message Syntax with S/MIME security body parts. Authenticated acknowledgements make use of multipart/signed Message Disposition Notification (MDN) responses to the original HTTP message. This applicability statement is informally referred to as "AS2" because it is the second applicability statement, produced after "AS1", RFC 3335. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4130"/>
          <seriesInfo name="DOI" value="10.17487/RFC4130"/>
        </reference>
        <reference anchor="RFC2045">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This initial document specifies the various headers used to describe the structure of MIME messages. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2045"/>
          <seriesInfo name="DOI" value="10.17487/RFC2045"/>
        </reference>
        <reference anchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC2049">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This set of documents, collectively called the Multipurpose Internet Mail Extensions, or MIME, redefines the format of messages. This fifth and final document describes MIME conformance criteria as well as providing some illustrative examples of MIME message formats, acknowledgements, and the bibliography. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2049"/>
          <seriesInfo name="DOI" value="10.17487/RFC2049"/>
        </reference>
        <reference anchor="RFC1767">
          <front>
            <title>MIME Encapsulation of EDI Objects</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="1995"/>
            <abstract>
              <t>Since there are many different EDI specifications, the current document defines three distinct categories as three different MIME content-types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1767"/>
          <seriesInfo name="DOI" value="10.17487/RFC1767"/>
        </reference>
        <reference anchor="RFC2616">
          <front>
            <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="J. Gettys" initials="J." surname="Gettys"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="H. Frystyk" initials="H." surname="Frystyk"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2616"/>
          <seriesInfo name="DOI" value="10.17487/RFC2616"/>
        </reference>
        <reference anchor="RFC3335">
          <front>
            <title>MIME-based Secure Peer-to-Peer Business Data Interchange over the Internet</title>
            <author fullname="T. Harding" initials="T." surname="Harding"/>
            <author fullname="R. Drummond" initials="R." surname="Drummond"/>
            <author fullname="C. Shih" initials="C." surname="Shih"/>
            <date month="September" year="2002"/>
          </front>
          <seriesInfo name="RFC" value="3335"/>
          <seriesInfo name="DOI" value="10.17487/RFC3335"/>
        </reference>
        <reference anchor="RFC3798">
          <front>
            <title>Message Disposition Notification</title>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="G. Vaudreuil" initials="G." role="editor" surname="Vaudreuil"/>
            <date month="May" year="2004"/>
            <abstract>
              <t>This memo defines a MIME content-type that may be used by a mail user agent (MUA) or electronic mail gateway to report the disposition of a message after it has been successfully delivered to a recipient. This content-type is intended to be machine-processable. Additional message headers are also defined to permit Message Disposition Notifications (MDNs) to be requested by the sender of a message. The purpose is to extend Internet Mail to support functionality often found in other messaging systems, such as X.400 and the proprietary "LAN-based" systems, and often referred to as "read receipts," "acknowledgements", or "receipt notifications." The intention is to do this while respecting privacy concerns, which have often been expressed when such functions have been discussed in the past. Because many messages are sent between the Internet and other messaging systems (such as X.400 or the proprietary "LAN-based" systems), the MDN protocol is designed to be useful in a multi-protocol messaging environment. To this end, the protocol described in this memo provides for the carriage of "foreign" addresses, in addition to those normally used in Internet Mail. Additional attributes may also be defined to support "tunneling" of foreign notifications through Internet Mail. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3798"/>
          <seriesInfo name="DOI" value="10.17487/RFC3798"/>
        </reference>
        <reference anchor="RFC8098">
          <front>
            <title>Message Disposition Notification</title>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>This memo defines a MIME content type that may be used by a Mail User Agent (MUA) or electronic mail gateway to report the disposition of a message after it has been successfully delivered to a recipient. This content type is intended to be machine processable. Additional message header fields are also defined to permit Message Disposition Notifications (MDNs) to be requested by the sender of a message. The purpose is to extend Internet Mail to support functionality often found in other messaging systems, such as X.400 and the proprietary "LAN-based" systems, and are often referred to as "read receipts," "acknowledgements," or "receipt notifications." The intention is to do this while respecting privacy concerns, which have often been expressed when such functions have been discussed in the past.</t>
              <t>Because many messages are sent between the Internet and other messaging systems (such as X.400 or the proprietary "LAN-based" systems), the MDN protocol is designed to be useful in a multiprotocol messaging environment. To this end, the protocol described in this memo provides for the carriage of "foreign" addresses, in addition to those normally used in Internet Mail. Additional attributes may also be defined to support "tunneling" of foreign notifications through Internet Mail.</t>
              <t>This document is an Internet Standard. It obsoletes RFC 3798 and updates RFC 2046 (message/partial media type handling) and RFC 3461 (Original-Recipient header field generation requirement).</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="85"/>
          <seriesInfo name="RFC" value="8098"/>
          <seriesInfo name="DOI" value="10.17487/RFC8098"/>
        </reference>
        <reference anchor="RFC1847">
          <front>
            <title>Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted</title>
            <author fullname="J. Galvin" initials="J." surname="Galvin"/>
            <author fullname="S. Murphy" initials="S." surname="Murphy"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <date month="October" year="1995"/>
            <abstract>
              <t>This document defines a framework within which security services may be applied to MIME body parts. [STANDARDS-TRACK] This memo defines a new Simple Mail Transfer Protocol (SMTP) [1] reply code, 521, which one may use to indicate that an Internet host does not accept incoming mail. This memo defines an Experimental Protocol for the Internet community. This memo defines an extension to the SMTP service whereby an interrupted SMTP transaction can be restarted at a later time without having to repeat all of the commands and message content sent prior to the interruption. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1847"/>
          <seriesInfo name="DOI" value="10.17487/RFC1847"/>
        </reference>
        <reference anchor="RFC3851">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.1. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 2633. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3851"/>
          <seriesInfo name="DOI" value="10.17487/RFC3851"/>
        </reference>
        <reference anchor="RFC3852">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3852"/>
          <seriesInfo name="DOI" value="10.17487/RFC3852"/>
        </reference>
        <reference anchor="RFC3462">
          <front>
            <title>The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages</title>
            <author fullname="G. Vaudreuil" initials="G." surname="Vaudreuil"/>
            <date month="January" year="2003"/>
            <abstract>
              <t>The Multipart/Report Multipurpose Internet Mail Extensions (MIME) content-type is a general "family" or "container" type for electronic mail reports of any kind. Although this memo defines only the use of the Multipart/Report content-type with respect to delivery status reports, mail processing programs will benefit if a single content-type is used to for all kinds of reports. This document is part of a four document set describing the delivery status report service. This collection includes the Simple Mail Transfer Protocol (SMTP) extensions to request delivery status reports, a MIME content for the reporting of delivery reports, an enumeration of extended status codes, and a multipart container for the delivery report, the original message, and a human-friendly summary of the failure. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3462"/>
          <seriesInfo name="DOI" value="10.17487/RFC3462"/>
        </reference>
        <reference anchor="RFC3023">
          <front>
            <title>XML Media Types</title>
            <author fullname="M. Murata" initials="M." surname="Murata"/>
            <author fullname="S. St. Laurent" initials="S." surname="St. Laurent"/>
            <author fullname="D. Kohn" initials="D." surname="Kohn"/>
            <date month="January" year="2001"/>
            <abstract>
              <t>This document standardizes five new media types -- text/xml, application/xml, text/xml-external-parsed-entity, application/xml- external-parsed-entity, and application/xml-dtd -- for use in exchanging network entities that are related to the Extensible Markup Language (XML). This document also standardizes a convention (using the suffix '+xml') for naming media types outside of these five types when those media types represent XML MIME (Multipurpose Internet Mail Extensions) entities. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3023"/>
          <seriesInfo name="DOI" value="10.17487/RFC3023"/>
        </reference>
        <reference anchor="RFC2026">
          <front>
            <title>The Internet Standards Process -- Revision 3</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="October" year="1996"/>
            <abstract>
              <t>This memo documents the process used by the Internet community for the standardization of protocols and procedures. It defines the stages in the standardization process, the requirements for moving a document between stages and the types of documents used during this process. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="9"/>
          <seriesInfo name="RFC" value="2026"/>
          <seriesInfo name="DOI" value="10.17487/RFC2026"/>
        </reference>
        <reference anchor="RFC3850">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Certificate Handling</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>This document specifies conventions for X.509 certificate usage by Secure/Multipurpose Internet Mail Extensions (S/MIME) agents. S/MIME provides a method to send and receive secure MIME messages, and certificates are an integral part of S/MIME agent processing. S/MIME agents validate certificates as described in RFC 3280, the Internet X.509 Public Key Infrastructure Certificate and CRL Profile. S/MIME agents must meet the certificate processing requirements in this document as well as those in RFC 3280. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3850"/>
          <seriesInfo name="DOI" value="10.17487/RFC3850"/>
        </reference>
        <reference anchor="RFC2234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="November" year="1997"/>
            <abstract>
              <t>In the early days of the Arpanet, each specification contained its own definition of ABNF. This included the email specifications, RFC733 and then RFC822 which have come to be the common citations for defining ABNF. The current document separates out that definition, to permit selective reference. Predictably, it also provides some modifications and enhancements. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2234"/>
          <seriesInfo name="DOI" value="10.17487/RFC2234"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC3274">
          <front>
            <title>Compressed Data Content Type for Cryptographic Message Syntax (CMS)</title>
            <author fullname="P. Gutmann" initials="P." surname="Gutmann"/>
            <date month="June" year="2002"/>
            <abstract>
              <t>This document defines a format for using compressed data as a Cryptographic Message Syntax (CMS) content type. Compressing data before transmission provides a number of advantages, including the elimination of data redundancy which could help an attacker, speeding up processing by reducing the amount of data to be processed by later steps (such as signing or encryption), and reducing overall message size. Although there have been proposals for adding compression at other levels (for example at the MIME or SSL level), these don't address the problem of compression of CMS content unless the compression is supplied by an external means (for example by intermixing MIME and CMS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3274"/>
          <seriesInfo name="DOI" value="10.17487/RFC3274"/>
        </reference>
        <reference anchor="RFC3280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="D. Solo" initials="D." surname="Solo"/>
            <date month="April" year="2002"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 Certificate Revocation List (CRL) for use in the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3280"/>
          <seriesInfo name="DOI" value="10.17487/RFC3280"/>
        </reference>
        <reference anchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5322"/>
          <seriesInfo name="DOI" value="10.17487/RFC5322"/>
        </reference>
        <reference anchor="RFC6017">
          <front>
            <title>Electronic Data Interchange - Internet Integration (EDIINT) Features Header Field</title>
            <author fullname="K. Meadors" initials="K." role="editor" surname="Meadors"/>
            <date month="September" year="2010"/>
            <abstract>
              <t>With the maturity of the Electronic Data Interchange - Internet Integration (EDIINT) standards of AS1, AS2, and AS3, applications and additional features are being built upon the basic secure transport functionality. These features are not necessarily supported by all EDIINT applications and could cause potential problems with implementations. The EDIINT-Features header field provides a means to resolve these problems and support new functionality. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6017"/>
          <seriesInfo name="DOI" value="10.17487/RFC6017"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2246">
          <front>
            <title>The TLS Protocol Version 1.0</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="C. Allen" initials="C." surname="Allen"/>
            <date month="January" year="1999"/>
            <abstract>
              <t>This document specifies Version 1.0 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications privacy over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2246"/>
          <seriesInfo name="DOI" value="10.17487/RFC2246"/>
        </reference>
        <reference anchor="RFC4918">
          <front>
            <title>HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</title>
            <author fullname="L. Dusseault" initials="L." role="editor" surname="Dusseault"/>
            <date month="June" year="2007"/>
            <abstract>
              <t>Web Distributed Authoring and Versioning (WebDAV) consists of a set of methods, headers, and content-types ancillary to HTTP/1.1 for the management of resource properties, creation and management of resource collections, URL namespace manipulation, and resource locking (collision avoidance).</t>
              <t>RFC 2518 was published in February 1999, and this specification obsoletes RFC 2518 with minor revisions mostly due to interoperability experience. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4918"/>
          <seriesInfo name="DOI" value="10.17487/RFC4918"/>
        </reference>
        <reference anchor="I-D.draft-duker-as2-reliability-16">
          <front>
            <title>Operational Reliability for EDIINT AS2</title>
            <author fullname="John Duker" initials="J." surname="Duker">
              <organization>Procter &amp; Gamble</organization>
            </author>
            <author fullname="dale.moberg@gmail.com" initials="" surname="dale.moberg@gmail.com">
              <organization>Orion Health</organization>
            </author>
            <date day="21" month="October" year="2014"/>
            <abstract>
              <t>One goal of this document is to define approaches to achieve a "once
and only once" delivery of messages. The EDIINT AS2 protocol is
implemented by a number of software tools on a variety of platforms
with varying capabilities and with varying network service quality.
Although the AS2 protocol defines a unique "Message-ID", current
implementations of AS2 do not provide a standard method to prevent
the same message (re-transmitted by the initial sender) from reaching
back-end business applications at the initial receiver.

A second goal is to reduce retransmissions and failures when AS2 is used
in a synchronous mode for transmitting MDNs.  There can be a large
latency between receipt of the POSTed entity body and the MDN response
caused by the operations of decompressing, decrypting, and signature
checks. Uncoordinated timeout policies and intermediate devices dropping
connections have interfered with reliable data exchange. The use of an
HTTP 102(Processing) status code is described to mitigate these
difficulties. Use of these reliability features is indicated by
presence of the "AS2-Reliability" value in the EDIINT-Features header.

Intended Status

The intent of this document is to be placed on the RFC track as an
Informational RFC.

Feedback Instructions:
NOTE TO RFC EDITOR:  This section should be removed by the RFC editor
prior to publication.

If you want to provide feedback on this draft, follow these
guidelines:

-Send feedback via e-mail to the ietf-ediint list for discussion,
with "AS2 Reliability" in the Subject field. To enter or follow the
discussion, you need to subscribe to ietf-ediint@imc.org.

-Be specific as to what section you are referring to, preferably
quoting the portion that needs modification, after which you state
your comments.

-If you are recommending some text to be replaced with your suggested
text, again, quote the section to be replaced, and be clear on the
section in question.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-duker-as2-reliability-16"/>
        </reference>
        <reference anchor="I-D.draft-harding-as2-restart-02">
          <front>
            <title>AS2 Restart for Very Large Messages</title>
            <author fullname="Terry Harding" initials="T." surname="Harding">
         </author>
            <date day="26" month="January" year="2011"/>
            <abstract>
              <t>AS2 Restart provides a method for AS2 clients and servers to restart
payload transfers from the point of failure without requiring the
entire document to be resent.

Keywords

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-harding-as2-restart-02"/>
        </reference>
      </references>
    </references>
    <?line 2395?>

<section anchor="message-examples">
      <name>Message Examples</name>
      <t>Note to Readers: All examples are provided for illustration only, and are not
   part of the protocol specification. If an example conflicts with the
   protocol definitions, the example is wrong. Email addresses in the
   examples (e.g., in the <tt>Disposition-Notification-To</tt> field) reflect
   one valid option but are not required. In AS2, this field may also
   contain a URL, a fully qualified host name, an AS2 identifier, or
   another implementation-specific string, as described in <xref format="none" target="requesting-a-signed-receipt">Section 8.3</xref>.</t>
      <section anchor="signed-message-requesting-a-signed-synchronous-receipt">
        <name>Signed Message Requesting a Signed, Synchronous Receipt</name>
        <sourcecode type="text"><![CDATA[
   POST /receive HTTP/1.1
   Host: 10.234.160.12:80
   User-Agent: AS2 Company Server
   Date: Wed, 31 Jul 2025 13:34:50 GMT
   AS2-Version: 1.3
   AS2-From: "as2 Name"
   AS2-To: 0123456780000
   Subject: Test Case
   Message-Id: <200207310834482A70BF63@\"~~foo~~\">
   Disposition-Notification-To: mrAS2@example.com
   Disposition-Notification-Options: signed-receipt-protocol=optional,
        pkcs7-signature; signed-receipt-micalg=optional,sha-256
   Content-Type: multipart/signed; boundary="as2BouNdary1as2";
        protocol="application/pkcs7-signature"; micalg=sha-256
   Content-Length: 2464

   --as2BouNdary1as2
   Content-Type: application/edi-x12
   Content-Disposition: attachment; filename=rfc1767.dat

     {ISA ...EDI transaction data...IEA...}

   --as2BouNdary1as2
   Content-Type: application/pkcs7-signature

     {omitted binary pkcs7 signature data}

   --as2BouNdary1as2--
]]></sourcecode>
      </section>
      <section anchor="mdn-for-message-in-a1-above">
        <name>MDN for Message in A.1, Above</name>
        <sourcecode type="text"><![CDATA[
   HTTP/1.1 200 OK
   AS2-From: 0123456780000
   AS2-To: "as2 Name"
   AS2-Version: 1.3
   Message-ID: <709700825.1028122454671.JavaMail@ediXchange>
   Content-Type: multipart/signed; micalg=sha-256;
        protocol="application/pkcs7-signature";
        boundary="----=_Part_57_648441049.1028122454671"
   Connection: Close
   Content-Length: 1980

   ------=_Part_57_648441049.1028122454671

   & Content-Type: multipart/report;
   &    report-type=disposition-notification;
   &    boundary="----=_Part_56_1672293592.1028122454656"
   &
   &------=_Part_56_1672293592.1028122454656
   &Content-Type: text/plain
   &Content-Transfer-Encoding: 7bit
   &
   &MDN for -
   & Message ID: <200207310834482A70BF63@\"~~foo~~\">
   &  From: "as2 Name"
   &  To: 0123456780000
   &  Received on: 2025-07-31 at 09:34:14 (EDT)
   & Status: processed
   & Comment: This is not a guarantee that the message has
   &  been completely processed or &understood by the receiving
   &  translator
   &
   &------=_Part_56_1672293592.1028122454656
   &Content-Type: message/disposition-notification
   &Content-Transfer-Encoding: 7bit
   &
   &Reporting-UA: AS2 Server
   &Original-Recipient: rfc822; 0123456780000
   &Final-Recipient: rfc822; 0123456780000
   &Original-Message-ID: <200207310834482A70BF63@\"~~foo~~\">
   &Received-content-MIC: 43d9tGY3gNSGuFaut4PAGvuc+48VgW6USgXLDPTxsBU=, sha-256
   &Disposition: automatic-action/MDN-sent-automatically; processed
   &
   &------=_Part_56_1672293592.1028122454656--

   ------=_Part_57_648441049.1028122454671
   Content-Type: application/pkcs7-signature; name=smime.p7s
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment; filename=smime.p7s

   MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQ
   cp24hMJNbxDKHnlB9jTiQzLwSwo+/90Pc87x+Sc6EpFSUYWGAAAAAAAA
   ------=_Part_57_648441049.1028122454671--

   Notes:

   1. The lines proceeded with "&" are what the signature is calculated
      over.

   2. For details on how to prepare the multipart/signed with protocol =
      "application/pkcs7-signature", see the "S/MIME Message
      Specification, PKCS Security Services for MIME".

   3. Note that the textual first body part of the multipart/report can
      be used to include a more detailed explanation of the error
      conditions reported by the disposition headers. The first body
      part of the multipart/report, when used in this way, allows a
      person to better diagnose a problem in detail.

   4. As specified by RFC 3462 [RFC3462], returning the original or portions
      of the original message in the third body part of the
      multipart/report is not required.  This is an optional body part.
      However, it is RECOMMENDED that this body part be omitted or left
      blank.
]]></sourcecode>
      </section>
      <section anchor="signed-encrypted-message-requesting-a-signed-asynchronous-receipt">
        <name>Signed, Encrypted Message Requesting a Signed, Asynchronous Receipt</name>
        <sourcecode type="text"><![CDATA[
   POST /trading_partner HTTP/1.1
   Host: 10.240.1.2:58101
   User-Agent: AS2 Company Server
   Message-ID: <#as2_company#01#a4260as2_companyout#>
   Date: Thu, 19 Dec 2024 15:04:18 GMT
   Subject: Signed and encrypted message with async MDN request
   Mime-Version: 1.0
   Content-Type: application/pkcs7-mime;
       smime-type=enveloped-data; name=smime.p7m
   Content-Transfer-Encoding: binary
   Content-Disposition: attachment; filename=smime.p7m
   Recipient-Address: 10.240.1.2//
   Disposition-Notification-To: http://10.240.1.2:58201/exchange/as2_company
   Disposition-Notification-Options: signed-receipt-protocol=optional,
        pkcs7-signature; signed-receipt-micalg=optional,sha-256
   Receipt-Delivery-Option: http://10.240.1.2:58201/exchange/as2_company
   AS2-From: as2_company
   AS2-To: "AS2 Test"
   AS2-Version: 1.3
   Connection: close
   Content-Length: 3428

     {omitted binary encrypted data}
]]></sourcecode>
      </section>
      <section anchor="asynchronous-mdn-for-message-in-a3-above">
        <name>Asynchronous MDN for Message in A.3, Above</name>
        <sourcecode type="text"><![CDATA[
   POST / HTTP/1.1
   Host: 10.234.160.12:80
   Connection: close, TE
   TE: trailers, deflate, gzip, compress
   User-Agent: AS2 Company Server
   Date: Thu, 19 Dec 2024 15:05:38 GMT
   Message-ID: <AS2-20021219_030338@as2_company.dgi_th>
   AS2-Version: 1.3
   Mime-Version: 1.0
   Recipient-Address: http://10.240.1.2:58201/exchange/as2_company
   AS2-To: as2_company
   AS2-From: "AS2 Test"
   Subject: Your Requested MDN Response
   From: as2debug@example.com
   Accept-Encoding: deflate, gzip, x-gzip, compress, x-compress
   Content-Type: multipart/signed; micalg=sha-256;
        protocol="application/pkcs7-signature";
        boundary="----=_Part_337_6452266.1040310218750"
   Content-Length: 3103

   ------=_Part_337_6452266.1040310218750
   Content-Type: multipart/report;
        report-type=disposition-notification;
        boundary="----=_Part_336_6069110.1040310218718"

   ------=_Part_336_6069110.1040310218718
   Content-Type: text/plain; charset=us-ascii
   Content-Transfer-Encoding: 7bit

   The message <x12.edi> sent to Recipient <AS2 Test> on Thu, 19 Dec
   2024 15:04:18 GMT with Subject <Signed and encrypted message with async
   MDN request> has been received. The EDI Interchange was successfully
   decrypted, and its integrity was verified. In addition, the sender of
   the message, Sender <as2_company> at Location http://10.240.1.2:58201/exchange/as2_company
   was authenticated as the originator of the message. There is no
   guarantee, however, that the EDI interchange was syntactically
   correct, or that it was received by the EDI application/translator.

   ------=_Part_336_6069110.1040310218718
   Content-Type: message/disposition-notification
   Content-Transfer-Encoding: 7bit

   Reporting-UA: AS2@test:8101
   Original-Recipient: rfc822; "AS2 Test"
   Final-Recipient: rfc822; "AS2 Test"
   Original-Message-ID: <#as2_company#01#a4260as2_companyout#>
   Disposition: automatic-action/MDN-sent-automatically; processed
   Received-Content-MIC: Hes6my+vIxIYxmvsA+MNpEOTPAc=, sha1

   ------=_Part_336_6069110.1040310218718--

   ------=_Part_337_6452266.1040310218750
   Content-Type: application/pkcs7-signature; name=smime.p7s
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment; filename=smime.p7s

   BhbWjEfbyXoTAS/H0zpnEqLqbaBh29y2v82b8bdeGw8pipBQWmf53hIcqHGM
   4ZBF3CHw5Wrf1JIE+8TwOzdbal30zeChw88WfRfD7c/j1fIA8sxsujvf2d9j
   UxCUga8BVdVB9kH0Geexytyt0KvWQXfaEEcgZGUAAAAAAAA=

   ------=_Part_337_6452266.1040310218750-
]]></sourcecode>
      </section>
    </section>
    <section anchor="legacy-interoperability-non-normative">
      <name>Legacy Interoperability (Non-Normative)</name>
      <t>This appendix records clarifications for interoperability with
   legacy AS2 implementations conforming to <xref target="RFC4130"/>. These provisions
   apply only when a modern AS2 implementation communicates with a
   partner that has not migrated to this specification. In such cases,
   both parties are effectively operating under <xref target="RFC4130"/>, not this
   document.</t>
      <t>These notes are provided to reduce ambiguity and ensure consistent
   behavior across implementations. They do not alter the algorithm
   requirements specified in Section 7, nor do they extend the use of
   deprecated algorithms.</t>
      <t>Examples of legacy considerations include:</t>
      <t>o  <strong>Message Integrity Checks (MICs):</strong> Implementations may continue
      to accept SHA-1 for MIC calculations when required by legacy
      partners. SHA-1 MUST NOT be generated by conformant modern
      implementations, but inbound SHA-1 values may be tolerated to
      maintain compatibility.</t>
      <t>o  <strong>Encryption Algorithms:</strong> Implementations may accept inbound
      messages encrypted with 3DES from legacy partners. However, 3DES
      MUST NOT be generated by conformant implementations. AES (128-bit
      or stronger) remains the normative requirement in
      <xref format="none" target="encryption-algorithms">Section 7.2</xref>.</t>
      <artwork><![CDATA[
  Note: NIST withdrew the 3DES specification on 1 January 2024, and
  disallowed the two-key variant in 2017. Any residual use of 3DES is
  for backward compatibility only and MUST NOT be generated by
  conformant implementations.
]]></artwork>
      <t>o  <strong>Multiple-Recipient Encryption:</strong> RFC 4130 did not clearly
      specify expected behavior for multiple-recipient support. Modern
      implementations SHOULD support recoverable encryption by including
      a copy of the content-encryption key (CEK) for each recipient,
      and SHOULD include one for the originator when feasible. Legacy
      implementations may omit this; modern systems should tolerate it.</t>
      <t>o  <strong>Error Handling:</strong> When encountering unsupported algorithms or
      malformed cryptographic structures in legacy exchanges,
      implementations SHOULD generate a clear error condition (e.g.,
      an unsigned MDN reporting "unsupported-mic-algorithm"). Silent
      fallback to weaker algorithms is NOT RECOMMENDED.</t>
      <t>o  <strong>Profile Selection:</strong> Implementations may provide administrators
      the ability to select profiles (e.g., "AS2-1.2 legacy mode" versus
      "AS2-2.0 modern mode") for specific trading partner agreements,
      ensuring predictable behavior without runtime handshakes.</t>
      <t>These clarifications are provided for reference and consistency
   across vendors. They are non-normative and are not intended to
   redefine <xref target="RFC4130"/> or to weaken the algorithm requirements of this
   specification. see <xref format="none" target="backward-compatibility-and-interoperability">Section 1.2</xref>
   for discussion of backward compatibility principles, and Section 7
   for normative algorithm requirements.</t>
    </section>
    <section anchor="change-log-non-normative">
      <name>Change Log (Non-Normative)</name>
      <t>This appendix records the substantive changes made during the revision
from the original RFC 4130 draft toward the current version of this document.</t>
      <section anchor="general">
        <name>General</name>
        <ul spacing="normal">
          <li>
            <t>Removed all references to AS1/SMTP throughout the draft.</t>
          </li>
          <li>
            <t>Included descriptions and references for compressed content, which was previously supported since AS2 version 1.1.</t>
          </li>
          <li>
            <t>This draft explicitly allows negotiation of newer RFCs while retaining legacy support, where necessary.</t>
          </li>
          <li>
            <t>Updated formatting and cross-references so that all internal "Section X.Y"
references are properly linked in HTML and XML output.</t>
          </li>
          <li>
            <t>Moved legacy interoperability clarifications to Appendix B
to avoid confusion with normative text.</t>
          </li>
          <li>
            <t>Clarified that appendices are non-normative unless otherwise indicated.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-12-backward-compatibility-and-interoperability">
        <name>Changes affecting Section 1.2 - Backward Compatibility and Interoperability</name>
        <ul spacing="normal">
          <li>
            <t>Expanded to explicitly state the dual-reference policy:
            </t>
            <ul spacing="normal">
              <li>
                <t>Implementations MAY interoperate with S/MIME v3.1 (RFC 3851/3852).</t>
              </li>
              <li>
                <t>Conformant implementations MUST also support S/MIME v4.0 (RFC 8551).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Added explicit pointer to Appendix B for legacy interoperability
clarifications.</t>
          </li>
          <li>
            <t>Clarified that RFC 8551 forms the baseline for new implementations.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-51-as2-version-header">
        <name>Changes affecting Section 5.1 - AS2-Version Header</name>
        <ul spacing="normal">
          <li>
            <t>Retained definitions for AS2-Version 1.0, 1.1, and included the previously supported version 1.2.</t>
          </li>
          <li>
            <t>Added <strong>AS2-Version: 1.3</strong>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Defines modernization requirements (SHA-256, AES baseline per RFC 8551).</t>
              </li>
              <li>
                <t>Aligns MDN behavior with RFC 8098.</t>
              </li>
              <li>
                <t>Requires support for multiple-recipient encryption (Section 7.2).</t>
              </li>
              <li>
                <t>States weak algorithms (SHA-1, MD5, 3DES, RC2) MUST NOT be generated
by conformant 1.3 implementations.</t>
              </li>
              <li>
                <t>Points to Appendix B for legacy interoperability when communicating
with 1.2 or earlier partners.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Added note about future versioning: minor versions (1.x) remain backward
compatible; major version (2.0+) would indicate non-backward-compatible
revisions.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-533-message-id-and-original-message-id">
        <name>Changes affecting Section 5.3.3 — Message-Id and Original-Message-Id</name>
        <ul spacing="normal">
          <li>
            <t>Prohibit spaces and control characters in newly generated <tt>Message-Id</tt>
values; recommend removal (not substitution) when constructing from
other attributes.</t>
          </li>
          <li>
            <t>Clarify receiver behavior: implementations are not required to accept
malformed <tt>Message-Id</tt> values; they SHOULD return an MDN with
<tt>processed/error</tt> and a human-readable explanation (per <xref target="RFC8098"/>).</t>
          </li>
          <li>
            <t>Keep angle-bracket guidance; brackets are required on send and are not
part of the identifier value. Receivers SHOULD NOT reject solely for
missing brackets.</t>
          </li>
          <li>
            <t>Update normative reference to <xref target="RFC5322"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-sections-54-and-55-reliability-and-restart">
        <name>Changes affecting Sections 5.4 and 5.5 — Reliability and Restart</name>
        <ul spacing="normal">
          <li>
            <t>Expanded Section 5.4 to clarify that HTTP 102 (Processing) MAY be used
under HTTP/1.1 for progress indication but MUST NOT be used under
HTTP/2 or 3.</t>
          </li>
          <li>
            <t>Changed previous requirement to close connections before retry to
optional behavior; clarified that 102 is deprecated but still
permitted for backward compatibility.</t>
          </li>
          <li>
            <t>Expanded Section 5.5 to reference the AS2 Reliability
(<xref target="I-D.draft-duker-as2-reliability-16"/>) and AS2 Restart (<xref target="I-D.draft-harding-as2-restart-02"/>) drafts.</t>
          </li>
          <li>
            <t>Clarified that implementations SHOULD support configurable retry logic
and MAY implement restart for large or interrupted transfers.</t>
          </li>
          <li>
            <t>Added explicit normative language about duplicate detection using
Message-ID.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-6-additional-as2-specific-http-headers">
        <name>Changes affecting Section 6 — Additional AS2-Specific HTTP Headers</name>
        <ul spacing="normal">
          <li>
            <t>Added new <tt>AS2-Product</tt> header to identify the sending product and version.</t>
          </li>
          <li>
            <t>Defined header format as <tt>&lt;product-name&gt;:&lt;major.minor[.patch]&gt;</tt>.</t>
          </li>
          <li>
            <t>Required inclusion for AS2-Version 1.3 or 2.0 and later.</t>
          </li>
          <li>
            <t>Clarified that the header enables interoperability diagnostics and
implementation-specific workarounds, not capability negotiation.</t>
          </li>
          <li>
            <t>Explicitly stated that arbitrary or misleading product names MUST NOT be used.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-7-algorithm-requirements">
        <name>Changes affecting Section 7 - Algorithm Requirements</name>
        <ul spacing="normal">
          <li>
            <t>Introduced a new dedicated section consolidating algorithm requirements.</t>
          </li>
          <li>
            <t><strong>Hash Algorithms</strong>:
            </t>
            <ul spacing="normal">
              <li>
                <t>MUST support SHA-256.</t>
              </li>
              <li>
                <t>SHOULD support SHA-384 or stronger.</t>
              </li>
              <li>
                <t>SHA-1 and MD5 deprecated; MUST NOT be generated by conformant implementations.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Encryption Algorithms</strong>:
            </t>
            <ul spacing="normal">
              <li>
                <t>MUST support AES-128-CBC; SHOULD support AES-256-CBC.</t>
              </li>
              <li>
                <t>RECOMMENDED to support AES-GCM and AES-CCM modes.</t>
              </li>
              <li>
                <t>3DES and RC2 deprecated; MUST NOT be generated.</t>
              </li>
              <li>
                <t>SHOULD support multiple-recipient encryption (per RFC 8551 §3.3).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Added explicit cross-references to Appendix B for legacy interoperability.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-8-mdn-processing">
        <name>Changes affecting Section 8 - MDN Processing</name>
        <ul spacing="normal">
          <li>
            <t>Updated to align MDN behavior with RFC 8098 (superseding RFC 3798).</t>
          </li>
          <li>
            <t>Clarified semantics for signed-receipt-micalg:
            </t>
            <ul spacing="normal">
              <li>
                <t>Allow multiple algorithms in header for backward compatibility.</t>
              </li>
              <li>
                <t>Conformance requires selecting one algorithm in Received-content-MIC.</t>
              </li>
              <li>
                <t>SHA-256 set as the default minimum; SHA-1 only permitted for legacy use.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Relaxed constraints on the content of the Disposition-notification-to header.</t>
          </li>
          <li>
            <t>Definitions have been included for additional supported error dispositions.0</t>
          </li>
          <li>
            <t>Clarified required MDN fields:
            </t>
            <ul spacing="normal">
              <li>
                <t><tt>Final-Recipient</tt> — MUST always be present.</t>
              </li>
              <li>
                <t><tt>Original-Message-ID</tt> — REQUIRED and must match the original message exactly.</t>
              </li>
              <li>
                <t><tt>Message-ID</tt> in the MDN — optional.</t>
              </li>
              <li>
                <t><tt>Disposition-Notification-To</tt> — MAY use any format (email, URL, hostname);
receiving systems MUST ignore syntax issues per RFC 4130.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Updated asynchronous MDN handling to reflect practical implementation realities:
            </t>
            <ul spacing="normal">
              <li>
                <t>HTTP 200-level responses SHOULD be sent immediately after receiving the last byte,
before full decryption or validation, to minimize timeout risk.</t>
              </li>
              <li>
                <t>Persistent (keep-alive) connections MAY be used; closing is optional and
implementation-dependent.</t>
              </li>
              <li>
                <t>Receipt of a 200-level response only acknowledges receipt, not successful processing.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Emphasized that asynchronous MDNs are sent as independent HTTP messages per
Section 7.3, and clarified that connection handling should not be mandated at
the application layer.</t>
          </li>
          <li>
            <t>Added standardized <tt>disposition-modifier</tt> extensions to improve error
reporting.</t>
          </li>
          <li>
            <t>New recommended modifiers:
            </t>
            <ul spacing="normal">
              <li>
                <t><tt>error: decompression-failed</tt></t>
              </li>
              <li>
                <t><tt>error/duplicate-filename</tt></t>
              </li>
              <li>
                <t><tt>error/illegal-filename</tt></t>
              </li>
              <li>
                <t><tt>error: insufficient-message-security</tt></t>
              </li>
              <li>
                <t><tt>error/invalid-message-id</tt></t>
              </li>
              <li>
                <t><tt>error/unknown-trading-relationship</tt></t>
              </li>
            </ul>
          </li>
          <li>
            <t>Clarified that implementations returning these modifiers MUST include a
human-readable explanation in the MDN <tt>Explanation</tt> field.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-9-public-key-certificate-handling">
        <name>Changes affecting Section 9 — Public Key Certificate Handling</name>
        <ul spacing="normal">
          <li>
            <t>Revised the opening paragraph to reference the optional <strong>AS2 GET</strong> method,
in addition to manual partner onboarding.</t>
          </li>
          <li>
            <t>Expanded the section to clarify separate roles and lifecycle management
for <strong>TLS certificates</strong> (transport security) and <strong>AS2 certificates</strong>
(message signing and encryption).</t>
          </li>
          <li>
            <t>Stated that TLS and AS2 certificates <strong>SHOULD NOT</strong> be reused or shared to
prevent cross-impact if one certificate is compromised.</t>
          </li>
          <li>
            <t>Required a <strong>minimum RSA key length of 2048 bits</strong> (or equivalent elliptic-curve
strength such as P-256).</t>
          </li>
          <li>
            <t>Clarified that:
            </t>
            <ul spacing="normal">
              <li>
                <t><strong>TLS certificates</strong> SHOULD be CA-signed in production; self-signed
certificates MAY be used in test environments or by partner agreement,
provided they include a <strong>Subject Alternative Name (SAN)</strong> extension
with hostname and/or IP address.</t>
              </li>
              <li>
                <t><strong>AS2 certificates</strong> MAY be CA-issued or self-signed per partner policy.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Added guidance that <strong>AS2 certificate lifetimes</strong> need not mirror the
short renewal cycles of TLS certificates; renewal policies SHOULD be
independent.</t>
          </li>
          <li>
            <t>Recommended <strong>CEM</strong> for automated certificate exchange between partners
to reduce manual errors and downtime.</t>
          </li>
          <li>
            <t>Introduced optional support for <strong>AS2 GET</strong> to retrieve partner
certificates, provided retrieval is authenticated (for example, Basic Auth
or mutual TLS) and integrity-protected.</t>
          </li>
          <li>
            <t>Added operational recommendations:
            </t>
            <ul spacing="normal">
              <li>
                <t>Maintain separate TLS / AS2 certificates.</t>
              </li>
              <li>
                <t>Include SAN extensions in all self-signed certificates.</t>
              </li>
              <li>
                <t>Support configurable expiry-notification mechanisms.</t>
              </li>
              <li>
                <t>Avoid reusing TLS certificates for AS2 message security.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-10-security-considerations">
        <name>Changes affecting Section 10 - Security Considerations</name>
        <ul spacing="normal">
          <li>
            <t>Provided guidance for the usgae of HTTPS and the minimum and recommended usage of TLS versions.</t>
          </li>
          <li>
            <t>Expanded discussion of algorithm lifecycle:
            </t>
            <ul spacing="normal">
              <li>
                <t>SHA-1 and MD5 deprecated; 3DES formally withdrawn by NIST (2024).</t>
              </li>
              <li>
                <t>Implementations MUST NOT generate deprecated algorithms.</t>
              </li>
              <li>
                <t>Migration guidance provided for interoperability.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Added explicit references back to Section 7 (Algorithm Requirements) and
Appendix B (Legacy Interoperability).</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-affecting-section-11-iana-considerations">
        <name>Changes affecting Section 11 - IANA Considerations</name>
        <ul spacing="normal">
          <li>
            <t>Clarified that IANA must update existing MDN registries to reference this
specification (replacing RFC 4130).</t>
          </li>
          <li>
            <t>Added direct links to IANA registry pages for clarity.</t>
          </li>
        </ul>
      </section>
      <section anchor="appendices">
        <name>Appendices</name>
        <ul spacing="normal">
          <li>
            <t><strong>Appendix A</strong>: Updated Message Examples with newer algorithms.</t>
          </li>
          <li>
            <t><strong>Appendix B</strong>: Legacy Interoperability (non-normative clarifications):
            </t>
            <ul spacing="normal">
              <li>
                <t>Captures behavior when interoperating with RFC 4130 systems.</t>
              </li>
              <li>
                <t>Explicit note: 3DES withdrawn by NIST in 2024; MAY only be accepted for
backward compatibility, MUST NOT be generated.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Appendix C</strong>: This Change Log.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
3yW6VVEnYcsxuX5yMmNz9zZL8U4eaci2lRnRpVxSgYDnkRQzSYQ+U2Jwdw0D
M0fcCsb0DPJgDrguAyS6HAYOIVG+KFlps0wGNLr0L4yp8BcHkVtLRRnCGR3P
xlfrS99wh5L4ht27WWlAgVVcLysBIaS2LL2VKLhrV1qVFiTK05iU6ZtxQR0i
cETwfOZ1tRbS52bPX868N2gpvlPaaO6dq1N0PlajKnm96Xp45X2nLpUVugYL
CFvC5NAlkx2sGKpHXk/AskHdYIXaTMGuMMTJcmrvRxfnkPuf0zFGBhSwtCQt
cl0iR1HhWIg6IBg4C68YRcGfX/EZGdPDJAWnbP0R3jVFMxk7Z4kyMVyg2yu7
ZLmGkDZV0aYyP9xVI2MJCVMPw944JfhYCNZcE/DyjGScgkU8A3ZLONe7oppK
s7uXy2XMe8HSikpgQL7YokWKlMLB5tkOxn5ttBmzglgfNYO4hcRD5xDIxXiq
gZaxzyatWtxlwNiigSiEIKtayVXsIGXqe40K4B4OuQ/y72D0Vbxjm45Yo1lQ
lJG/hKsZeNIu7+FGviTVBunyMThv5CJyNJf7mdFWS+KEof2v1pyDHaQgwWgE
ARPlSOFRzD9AFgnUOAChUI0lxD094lD25yQ++ryVGiJ/zv2WLiimJsMl47Pk
wqnaZlEbtYvBKyn7HLgss+OVVQOl9F6fopsiRec24EmfTcP+Zj6cqjWJ1rFg
uTjqEDrjd9jMQ6dqp1ZBSK436ss7YLHVG81KbVdZbvVOG3f+JyD264I13cEZ
6bEH2dcprCOo2/E+w/sbNe/teubVq/WWV2t0Gs1Oq+qdfLiQXDDnJjtS8iGI
UR1vW6lb1Pfb8vOLqONVa2o8rd29dlX9QaVNce2OdwGea8+P3W75Ucf7pl6t
1qt7jVq13Wg22/XuXvXwu93Gt3/f/v33cRT9/vvft1/jqPMlsONdL9UIvmXh
rQwJ6Tn3ju+JeqvjuetYli30SprwuV4cdtfVMN4r60DBQfLWawhsTcyN8dSH
Wk48DviIB9ijTgre5UBZA2to0ty8gik9jNYf4R819fdtB8SMRrZtYSPsJAa1
feDxMDLe/h4bxDpevbnbREVWLidelx6r/S7l0pXvas5FLsjRauUPp7C/DjTm
/6vleFjb292rjHxBRvrHab/rVSqVBKQyOgnqx6fHXfXff/sjA0xMhrxPwjkD
ZQMq/wuvsvGq1HtzXlcu8xn/DA0erMSVAKFSNpVayesiGqO9Y2WPIjLQ9+/c
PZPaHbJt0pspufEMvoTaMXvV/b1qtV1vVWrVertWrzdbzd29WuWtf+N/UJr9
W7VYP1H+7vVjJNCVmidLnb7eSLI6RsuvvihrbvWltfdlt9luNmvV5r473m0e
25wUbcfrzSLSD0mhre0r3UaL9Kgn47XPc7+bykEP6CJPykPRBn+VZ3qbq7O/
cvdLbXevXt9vtPbr9mBau/iZz/E/7vDzb8GL3dGDgO0soCbL/SXsIWWfl4/n
VFPW8fYGxEJArxTRLdP4RYJRjh6pedVXZ+l89eNMlf/c04FHD1YVDpdyda+s
zhplkVX34ZSpNb3C8dFFka4ncK2OhWjHyweuMpwdUypJwgY6g8Vn0lIS4ZoS
5vdzT9jBKbvvIH+ruXiO9KDxCgI9Scphvh910wwquv5XVu8hx+5pa3ou5czl
T1065M3h/vx79nfL5wJY1PGUHm7X6wcZa/Xd4y/VD3Z00WNlKCsW3fGajdH+
6uTnxuRj/2T9nXIzmmfdk5v18GWz/ePk8+6n/uSn90dnF3fx4adXJc861p7/
WczEJ6+qOg6eooGeclYdoA37Kr6GKsDFXuzcnBYGqPhSh/iTTmLzbDxNTrsn
vf5vJ/3TQePoh+M33d96XfWzXveH47ve1+7bw8mn5dHkQ+9k8qnrXotm+aLe
nH54+3Fwd/TuzXx2uP/rRfjD1/e3/dvo5c5+9WzY3rt72R/uHi++63/6+fNJ
l/88Yfp4ssHZ4gBWjVAKZkgFykFmyaRuPyei81udprYTOpr4VJAVI10FU6ca
fg2IOCfsd1O85oIvcb0CvlO7W6/4qfeekVSfD0/bZmCTDw7XUN+tjgCgTNPu
B5sbili5GejDMYeBGklUZOFlJJwwjDLdiyLF6XHP1FkgowLjTtg9J9gErU6f
uROPtgFDDUAyH6em8sjGbGPMKQFWk3HyQ+4bbQpwDgGwNkxWGQtOBpT7xBTW
GwRYZjAK/ck8QqQEtWgD5QTC/fRdNJHNiteNrdY9NW5Epm3uEpQR/OWXEof2
Jf6i0ysAcE2QYbEIWF5emalAsCoguTx8b2qREmVxgmcVUh2ToIXppwmgaqKy
Lg1VhBEfPQbAD2BLGRP8Y4FEHqhFv6poS1gc12MNYnCvf9uNMxzctIfLmZkv
gn6R7ek2lZdbqXda7Vq19jhP1zmpIED4hfOpz6q1Z36zvlu1fhatV89eG//4
YrouKcPTOwqGYMI0vVqrU1WWS1v8Y+3asqNvQZyYhASXesA0oBfBYQQcnNLI
tp1ffcyZAWpcG9yo1Mls1XRjZfBoEgfK9UMHCvpGf+xAwWdr+6HcpZiSvWA7
Ow+67xD87+zsOItcr9Z2pApxx1qm/0eePQt0+YjRB/j1T/8e4yJm/AIdRJBv
CKHkOoi2HzXM86MazXo7xzE2kksusWx4Zwdn+sGNLD+Y9vUjQ1apsZe8i2OM
9x53wBJXMgcYKKNgPENAyslXqBoV+sqnBL0yN3Wr09Cb2tEYMM9g39bqtf0v
1Ua10Wh/ay1QZTQJv6ymr3N99qwNnrFV/oi0gFDkCpErLVpP/Rytl6KmQXGr
xRQ8ZLhOC+AoGKwnyWBaF2uULaWRWI27srsq8BN7hf5PYxCNBliarXp9d1fZ
mc2qclfqtfZeq7qduUtq1Uba1s99xn1fZ0Ua8M+jIw33fcvul93q7n4N0vVm
HLX2dtaYc65Nj9nEFw6QaDsOVq/WcdmPh2H4wPGBziluV8sV/+auVq8Eo/C1
h2CwmDFhyceNhfL5Gkxua0+iTZ48a+kIlQLpbx552uIGNAfuaxugnDxRskEh
EIncVNxne0vlIJozDJ6jMehLVo2V1NrBDVTvzxkNwWMQAC0uNYQHWbEKAAzG
33xjbePXECF5H0k93BP1AgJ4O033nMFlQ3QVLROVVRUqfCIbEx6hYysl8ISk
EpXdC5iqMDlVNm8lOofEuodVYJSEXOGFmoScnQJ4mL2jTcCl8qfk+DGRlsfI
cirG8i0kIjtie94XZXHVb26Exb0sO7ryeJv1z4dDdISmZ0do3gTx7vXm5c3p
3enPd9c3cfflh4+L4+8vzrpDisjUnrBcWTGUJ+jV/08hlMPp4POvx+PB5qfo
otvfeVP9upgf//b+t4F/OK3vb+o37fqgPRgFJ7ftRbg4/OHz9bjVmJ4Of3tz
8gF9zr8eftfovbltfV6Oa29Pj1+2L26//zoa+LNG9WvQm96225/H5+OjveHO
r7Xxabcd38XrX2/G9dH+r2jx3PU+Tfz24Y+jHw/3r95UT4LgbrParKrvbj7/
8NPYPz4eTv568kliL6+eMPGS9xAAmdNkSr7wEe1ugYDw/vE4rAgLjsgXoAkp
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

-->

</rfc>
