Signature Creation Application (SCA).
Der CodeB-Fern-Signatur-Dienst — der Browser-Signer unter sign.html zusammen mit dem CSC-v2-API-Server — spielt die Rolle der Signature Creation Application (SCA) nach ETSI TS 119 432. Sie komponiert das Data-To-Be-Signed (DTBS), führt das Signature Activation Protocol (SAP) für die Nutzer-Autorisierung durch, übergibt die SAD an das Remote Wallet Secure Cryptographic Device (RWSCD, aktuell unser software-basierter ICryptoModule) und schließt die Signatur zu einem PAdES-Umschlag ab. Diese Seite bildet jeden CodeB-Endpunkt und jeden Browser-Schritt auf das ETSI-Vokabular ab, damit ein Auditor Konformität End-to-End nachvollziehen kann.
ICryptoModule-Abstraktion ist HSM-vorbereitet — sobald sie an eine zertifizierte QSCD verdrahtet wird (Azure Key Vault Managed HSM FIPS 140-3 Level 3 oder PKCS#11 gegen Utimaco / Thales), arbeitet dieselbe SCA unverändert gegen eine qualifizierte RWSCD.Die vier ETSI-Akteure
- Signer — die natürliche Person, deren Wille die Signatur bindet. Meldet sich per OIDC an.
- SCA (Signature Creation Application) — komponiert DTBS, sammelt Signer-Intent, orchestriert SAP, treibt RWSCD, schließt den Umschlag ab. = sign.html + csc.ashx.
- SIC (Signature Initiator Client) — wo der Signer startet. In der Referenzstrecke sind SIC und SCA in sign.html vereint; im API-Fluss ist der SIC Ihre Business-App, die die CSC-v2-API aufruft.
- RWSCD — hält den Signaturschlüssel, gibt Operationen nur bei gültiger SAD frei. =
ICryptoModule. Heute:SoftwareCryptoModule.cs. Roadmap:HsmAzureKeyVaultCryptoModule.cs,HsmPkcs11CryptoModule.cs.
ETSI-TS-119-432-Verb → CodeB-Endpunkt-Zuordnung
| ETSI TS 119 432 Verb | CodeB-Endpunkt / Schritt | Was passiert |
|---|---|---|
identify-signer | OIDC Authorization Code + PKCE | Standard-OIDC-Round-Trip. |
discover-credentials | POST /csc/v2/credentials/list | Liefert Credential-IDs des Signers. |
get-credential-info | POST /csc/v2/credentials/info | Subject DN, Issuer DN, Serial, Gültigkeit, Algorithmus. |
prepare-signature | SCA komponiert die CMS-signedAttributes-DER, hasht mit SHA-256 | Client-seitig (sign.html) oder server-seitig (signDoc). |
authorize-signature (SAP init) | POST /csc/v2/credentials/authorize | SCAL1 → sofortige SAD. SCAL2 → pending=true + WebAuthn-Challenge. |
authorize-signature-confirm | POST /csc/v2/credentials/authorize/confirm | SCAL2 nur. WebAuthn-Assertion + PIN. |
authorize-signature (via Wallet) | OpenID4VP vp-start mit transaction_data | ARF-§5.7.5: die EU-Wallet wird SAP-Autorisator. Siehe unten. |
sign-hash | POST /csc/v2/signatures/signHash | RWSCD signiert den SAD-gebundenen Hash. Rohes ECDSA r||s. |
sign-doc | POST /csc/v2/signatures/signDoc | Server-seitig Ein-Schritt: SCA komponiert + RWSCD signiert + PAdES-Zusammenbau. |
finalize-signature | SCA baut den PAdES-Umschlag | Stufen B-B / B-T / B-LT / B-LTA. |
timestamp-signature | POST /csc/v2/signatures/timestamp oder /tsa | RFC-3161-Zeitstempel. Extern oder tenant-intern. |
revocation-info | POST /csc/v2/ocsp | RFC-6960-OCSP für Signer- und TSA-Zertifikate. |
ARF §5.7.5 — Wallet als SAP-Autorisator
Das ARF 3.0 (21. Juli 2026) §5.7.5 definiert einen transaction_data-Parameter auf OpenID4VP-Anfragen. Das ist der Mechanismus, durch den die EU-Wallet den WebAuthn-/PIN-Zweitfaktor in SCAL2 ersetzt.
Wire-Format
Die SCA hängt ?transaction_data=<b64u> an /oidc.ashx?action=vp-start. Der b64u-Wert dekodiert zu einem JSON-Array base64url-kodierter Einträge. Jeder Eintrag dekodiert zu einem JSON-Objekt mit u.a. type, credential_ids, documentDigests, processID.
Was heute (2026-07-27) ausgeliefert ist
- Ausgeliefert: vp-start akzeptiert
transaction_data, validiert strikt, speichert aufVpSession, gibt das Array im signierten JAR-Request-Objekt aus. - Ausgeliefert: LAUTE Diagnostik (
[ARF-TXDATA-DIAG]) +[METRIC] arf.txdata.accepted|rejected. - Ausgeliefert: pro-Tenant-Persistenz durch
SaveVpSessionToDisk— überlebt App-Pool-Recycles für die volle 300 s TTL. - Nächste Iteration: KB-JWT-
transaction_data_hashes-Extraktion invp-response+ Surface in die GET-Poll-Antwort + SAD-Issuance-Hook incredentials/authorize.
Standards & Verweise
- ETSI TS 119 432 — Protokolle für Fern-Signaturerstellung. SCA / SIC / RWSCD / Signer.
- ETSI EN 419 241-1 — Trustworthy Systems Supporting Server Signing. SCAL1 vs SCAL2.
- Cloud Signature Consortium API v2 — konkrete Wire-Umsetzung der meisten SCA-Verben.
- OpenID4VP 1.0 Final §5.7.5 —
transaction_data-Parameter + Hash-Rückgabe. - ARF 3.0 (21. Juli 2026) §5.7.5 — Wallet-as-SAP-Profil.
- Verordnung (EU) 910/2014 Art. 3(11), 26, 32.
Fragen? Fragen Sie uns.