diff --git a/docs/getting-started/event-log/overview.mdx b/docs/getting-started/event-log/overview.mdx index 86d6f33d325bc0d9abc1f56c49970e74aab634fd..d242b880ba170d2c91a756b39cf93e75c182873f 100644 --- a/docs/getting-started/event-log/overview.mdx +++ b/docs/getting-started/event-log/overview.mdx @@ -2,6 +2,8 @@ title: Überblick --- +import Mermaid from '@site/src/components/Mermaid' + Im Ereignisprotokoll (Event Log) werden relevante Ereignisse (events) aufgezeichnet. Beim Abruf des Ereignisprotokolls liefert die API ein Array von JSON Web Token (JWT) gemäß [RFC 7519](https://datatracker.ietf.org/doc/html/rfc7519). Der JWT ist einen Security-Event-Token (SET) gemäß [RFC 8417](https://datatracker.ietf.org/doc/html/rfc8417). @@ -26,3 +28,31 @@ Die Nutzung ist aber nicht auf die Klärung von Streitigkeiten zu technischen Ü In der Submission API werden SETs durch den Zustelldienst und das empfangende System erstellt. Während die SETs des Zustelldienstes dazu dienen, die korrekte Übermittlung an den Zustelldienst und die Inkenntnissetzung von empfangende Systemen über neue Einreichungen dokumentieren, sollen SETs des empfangenden Systems die Bestätigung oder Ablehnung der technische Verarbeitbarkeit einer Einreichung nachweisen. + +Diese Zusammenhänge werden vereinfacht im folgenden Sequenzdiagramm veranschaulicht. Zusätzlich wird ersichtlich mit welchem Schlüssel die Einträge des Ereignisprotokoll jeweils signiert werden, d. h., mit dem Schlüssel des Zustelldienstes oder dem des empfangenden Systems. + +<Mermaid> +sequenceDiagram; + participant S as Sender; + participant Z as Zustelldienst<br/>(FIT-Connect); + participant E as Subscriber<br/>(Zustellpunkt); + S->>Z: Lege neue Einreichung an; + Z->>Z: Schreibe "create-submission"-Event<br/>(signiert durch Zustelldienst); + S->>Z: Lade Fachdaten, Metadaten und Anhänge hoch<br/>und schließe die Einreichung ab; + Z->>Z: Schreibe "submit-submission" Event und<br/>signiert durch Zustelldienst);; + opt Empfänger wurde per Webhook über neue Einreichung informiert; + Z->>Z: Schreibe "notify-submission" Event und<br/>signiert durch Zustelldienst);; + end + opt Weiterleitung an nachgelagertes System; + E->>Z: Schreibe "forward-submission"-Event,<br/>signiert mit Signaturschlüssel des<br/>zugehörigen Zustellpunktes des Subscribers; + end; + alt Einreichung wurde angenommen; + E->>Z: Schreibe "accept-submission" Event,<br/>signiert mit Signaturschlüssel des<br/>zugehörigen Zustellpunktes des Subscribers; + else Einreichung wurde zurückgewiesen; + alt Die Einreichung wurde durch den Empfänger zurückgewiesen; + E->>Z: Schreibe "reject-submission" Event,<br/><br/>signiert mit Signaturschlüssel des<br/>zugehörigen Zustellpunktes des Subscribers; + else Die Einreichung war mehr als 14 Tage im Status submitted; + Z->>Z: Schreibe "reject-submission" Event,<br/><br/>signiert mit Signaturschlüssel des<br/>zugehörigen Zustellpunktes des Subscribers; + end; + end; +</Mermaid> diff --git a/docs/receiving/overview.mdx b/docs/receiving/overview.mdx index 13efc6efabdfbbaaab2c629b0e1974dc7a306cb3..dca28f39ca67c00e9b28525aac66ccebec162605 100644 --- a/docs/receiving/overview.mdx +++ b/docs/receiving/overview.mdx @@ -11,7 +11,7 @@ Bei nicht erfolgter Abholung einer Einreichung durch ein empfangendes System (Fa Sollte sich eine Einreichung mehr als 14 Tage im Status `submitted` befinden, wird [diese automatisch vom Server abgewiesen](../getting-started/notifications-and-deletion-deadlines.mdx) und in den Status `rejected` überführt. <Mermaid> -sequenceDiagram +sequenceDiagram; participant C as Client; participant F as FIT Connect; C->>F: Zustellpunkt anlegen; @@ -25,6 +25,6 @@ sequenceDiagram C->>F: Einreichung abfragen; F->>C: Metadaten, Fachdaten erhalten; C->>C: Anlagen herunterladen; - C->>C: Metadaten, Fachdaten & Anlagen entschlüsseln; + C->>C: Metadaten, Fachdaten & Anlagen<br/> mit dem zum öffentlichen Schlüssel<br/> [Pk_zustellpunkt] gehörenden geheimen<br/> Schlüssel [Sk_zustellpunkt] entschlüsseln; C->>F: Empfang & Validität der Einreichung bestätigen; </Mermaid> diff --git a/docs/sending/overview.mdx b/docs/sending/overview.mdx index 92e1b1a90b949eabec7a737b845ec5c63b4087e6..1f7a3c799f14ecf80857a4f5b602d4085b9ba609 100644 --- a/docs/sending/overview.mdx +++ b/docs/sending/overview.mdx @@ -24,11 +24,11 @@ Einreichungen unterliegen diversen automatischen Löschfristen, nach welchen die sequenceDiagram; participant C as Client; participant F as FIT Connect; + F->>C: Öffentlichen Schlüssel [Pk_zustellpunkt] des Zustellpunkts<br/> im Rahmen der Zustellpunktermittlung übermitteln; C->>F: Einreichung anlegen & ankündigen; - C->>C: Anlagen verschlüsseln; + C->>C: Anlagen mit [Pk_zustellpunkt] verschlüsseln; C->>F: Anlagen hochladen; - C->>C: Metadaten befüllen & verschlüsseln; - C->>C: Fachdaten verschlüsseln; + C->>C: Metadaten befüllen & mit [Pk_zustellpunkt] verschlüsseln; + C->>C: Fachdaten mit [Pk_zustellpunkt] verschlüsseln; C->>F: Fachdaten & Metadaten hochladen und Einreichung absenden; </Mermaid> -