Skip to content

First draft WBCS on QeRDS AS4 from the QTSP group. - #261

Open
alejandro-nieto-git wants to merge 4 commits into
webuild-consortium:mainfrom
DigitelTS:qerds-as4-wbcs
Open

First draft WBCS on QeRDS AS4 from the QTSP group.#261
alejandro-nieto-git wants to merge 4 commits into
webuild-consortium:mainfrom
DigitelTS:qerds-as4-wbcs

Conversation

@alejandro-nieto-git

Copy link
Copy Markdown
Collaborator

This is a first draft of the QTSP group WBCS on QeRDS that was assigned to us as DigitelTS by @sander. We don't have that much experience with AS4 so any feedback is welcome.

@sander sander linked an issue Jul 16, 2026 that may be closed by this pull request

@DavSanOl DavSanOl left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@Saramandus Saramandus added the CS Conformance Specification label Aug 3, 2026
@kjorlaug

Copy link
Copy Markdown
Contributor

Solid piece of work :)

Two overall questions (non-blocking, but worth settling before we merge):

  • ETSI baseline. Anchoring to EN 319 522 V1.2.1 (2024-01) for parts 1–3 is the right call. But I'd suggest a short non-normative annex tracking the expected 522 deltas (especially the 4-3 discovery/trust binding) so our pilot findings feed the revision cleanly.
  • AS4 2.0 crypto baseline. Mandating the eDelivery AS4 2.0 Common Profile (Ed25519 / X25519+HKDF, SEC-004/006/008) is coherent for a greenfield QERDS channel that stands up its own PKI — which is what this is — so no change to the SEC clauses is needed. The only thing that makes it incoherent is SCOPE-006 (see inline), which simultaneously demands Peppol-network conformance; Peppol runs CEF 1.14 + RSA on the Peppol PKI, so the two can't both hold. Drop the Peppol-conformance claim and the crypto choice stands as written.

The resolution gap in §2 lines up with the EDD CS proposed in #253 — I'd defer to that spec explicitly rather than restate discovery here, so the CS family has one clean producer/consumer seam (EDD produces endpoint + certs + trust status; this profile consumes them).


**`AS4CONF-SCOPE-005`** [MUST]: Implementations MUST comply with all requirements in [AS4-PROFILE-1.0] (the OASIS AS4 Profile of ebMS 3.0 v1.0) for features not superseded by [CEF-AS4-2.0] or this document, in the compliance chain: [AS4-PROFILE-1.0] ← [CEF-AS4-2.0] ← this document (later profiles override earlier ones).

**`AS4CONF-SCOPE-006`** [MUST]: Implementations MUST comply with the PEPPOL AS4 Profile where applicable, using [CEF-AS4-2.0] as the underlying AS4 implementation baseline instead of the version mandated within the PEPPOL Profile specification itself. This ensures PEPPOL interoperability while anchoring to the CEF AS4 2.0 security, cryptographic, and message-structure requirements specified in §7.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**`AS4CONF-SCOPE-006`** [MUST]: Implementations MUST comply with the PEPPOL AS4 Profile where applicable, using [CEF-AS4-2.0] as the underlying AS4 implementation baseline instead of the version mandated within the PEPPOL Profile specification itself. This ensures PEPPOL interoperability while anchoring to the CEF AS4 2.0 security, cryptographic, and message-structure requirements specified in §7.

Recommend removing this requirement. It mandates Peppol-network conformance while §7.2 mandates the AS4 2.0 Common Profile crypto (Ed25519 / X25519). Those are mutually exclusive in practice: Peppol conformance is defined against CEF eDelivery AS4 1.14 and the Peppol PKI (RSA certificates, BST key reference), so an Ed25519-signed message on a non-Peppol certificate neither verifies at a Peppol AP nor chains to the Peppol PKI. Since we're explicitly not targeting Peppol-as-QERDS, the C2–C3 relay doesn't need to be Peppol-conformant at all.

The only place a Peppol relationship is in play is the "enhance Peppol with wallet" scenario (SC5 Scenario 5)...


**In scope**: the C2→C3 AS4 User Message exchange and the C3→C2 AS4 Receipt Signal Message response; the WS-Security signing and encryption applied to that exchange; the full set of QeRDS evidence artifacts corresponding to the 22 ERDS events defined in ETSI EN 319 522-1 Table 1 (§7.3) and their JSON representation; the same-provider (C2 = C3) topology variant.

**Out of scope**: the C1↔C2 (user-to-provider submission) interface and the C3↔C4 (provider-to-recipient-application delivery) interface — both are left to local implementation choice by the source standards and are not profiled here (note: the *evidence obligations* C3 carries toward events that occur at the C3–C4 boundary, e.g. consignment/handover, ARE in scope per §7.3 categories D/E, even though the C3–C4 wire protocol itself is not). Also out of scope: the identity-proofing, service/identifier discovery, and trusted-list registration interfaces that [WEBUILD-ARCH] places around the QERDS core (its interfaces 1–5, 7–9, 12, 15) — these govern the wallet/QTSP ecosystem this channel operates within, but not the C2–C3 wire exchange itself. Automated conformance test tooling is likewise out of scope; §9 defines *what* to check, not a test harness.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Putting discovery out of scope is fine, but as written the document then assumes, without stating it, that C2 already holds C3's endpoint URL and encryption certificate and trusts that cert, and those are load-bearing for in-scope normative clauses (SEC-005/006/008 can't be satisfied without C3's encryption cert; MSG-005 receipt verification can't be satisfied without C3's signing cert), in both directions.

This is exactly the seam the EDD conformance spec is being carved out to own (#253), whose "Connection" step is defined as retrieving the endpoint and security certificates for delivery, with QERDS named as one of the networks "Discovery" resolves. Suggest a sentence in the out-of-scope paragraph that names this dependency and defers to it, e.g.:

Resolution of C3 and its AS4 endpoint, encryption certificate, and trust status, is out of scope and is the responsibility of the European Digital Directory identification/discovery/connection layer (see EDD conformance specification). This profile assumes that resolution has already occurred and, for the pilot, that these values are statically provisioned. All AS4CONF-SEC-* and Receipt-verification requirements presuppose it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CS Conformance Specification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CS-016 Inter-QTSP Message Relay (QeRDS AS4)

4 participants