From 13b25cc5e84af3d087f2fad2a0b1c83da7362692 Mon Sep 17 00:00:00 2001 From: Marco Holz <marco.holz@fitko.de> Date: Wed, 24 Nov 2021 21:03:39 +0000 Subject: [PATCH] =?UTF-8?q?Einheitliche=20Begriffsverwendung=20+=20Tabs=20?= =?UTF-8?q?f=C3=BCr=20Code-Beispiele?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/getting-started/receiving/routing.mdx | 42 +++++++++++++------ .../getting-started/receiving/routing.mdx | 42 +++++++++++++------ 2 files changed, 58 insertions(+), 26 deletions(-) diff --git a/docs/getting-started/receiving/routing.mdx b/docs/getting-started/receiving/routing.mdx index 37dc22f98..4e0852af8 100644 --- a/docs/getting-started/receiving/routing.mdx +++ b/docs/getting-started/receiving/routing.mdx @@ -4,22 +4,25 @@ sidebar_position: 4 --- import useBaseUrl from '@docusaurus/useBaseUrl'; +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' -Zustellpunkt Address Informationen können über einen Button in der Self-Service Portal Zustellpunkt Übersichts Liste in die Zwischenablage kopiert werden. Von der Zwischenablage kann es dann in das Redaktionssystem kopiert/import werden. +Um eine [Auffindbarkeit des Zustellpunktes über die Routing API](../sending/get-destination.mdx) zu ermöglichen, müssen die konfigurierten Zuständigkeitsinformationen zunächst in einem an den Portalverbund angeschlossenen Landes-Redaktionssystem des FIM-Bausteins Leistungen hinterlegt werden. +Die zu einem Zustellpunkt gehörigen Zuständigkeits-/Adressierungsinformationen können im Self-Service-Portal über einen Button in der Zustellpunkt-Übersichtsliste in die Zwischenablage kopiert werden. +Von der Zwischenablage können diese Informationen dann in das zuständige Redaktionssystem kopiert/import werden. <div class="center"> - <img width="800" alt="Zustellpunkt Address Informationen können über einen Button in der Zustellpunkt Übersichts Liste in die Zwischenablage kopiert werden. Von der Zwischenablage kann es dann in das Redaktionssystem kopiert/import werden." + <img width="800" alt="Button in der Zustellpunkt-Übersichtsliste" src={useBaseUrl('/images/ssp/destination-overview-export-address-information.png')}/> </div> -### Inhalt eines Zustellpunkt Address Informations JWK - -Der Inhalt eines Address Informations JWK sieht beispielhaft und "json prettyfied" wie folgt aus: +### Inhalt der Adressierungsinformationen +Der dekodierte Inhalt (Payload) der Adressierungsinformationen sieht beispielhaft wie folgt aus (Leerzeichen und Zeilenumbrüche dienen ausschließlich der besseren Lesbarkeit): ```json { "submissionHost": "zustelldienst.example.com", - "iss": "https://portal.example.com", + "iss": "https://self-service-portal.example.com", "services": [ { "gebietIDs": [ @@ -36,13 +39,13 @@ Der Inhalt eines Address Informations JWK sieht beispielhaft und "json prettyfie } ``` -### Signaturprüfung des vom Self-Service Portal (SSP) erstellten Zustellpunkt Address Informations JWK - -Um die Signatur eines JWT zu überprüfen, welches vom SSP ausgestellt wurde, ist es notwendig auf die verwendeten Schlüssel zugreifen zu können. -Das SSP stellt ein JSON Web Key Set (JWKS) öffentlich zugänglich über den Endpunkt ``/.well-known/jwks.json` bereit. Für unser Testsystem ist das JWKS z.B. [hier](https://portal.auth-testing.fit-connect.fitko.dev/.well-known/jwks.json) verfügbar. +### Signaturprüfung der vom Self-Service Portal (SSP) signierten Adressierungsinformationen +Bei den signierten Adressierungsinformationen handelt es sich um signierte JSON Web Tokens (JWTs). +Um die Signatur der vom Self-Service-Portal signierten JWTs zu überprüfen, ist es notwendig, auf die verwendeten Schlüssel (im Format JSON Web Key, kurz JWK) zugreifen zu können. +Das Self-Service-Portal stellt ein JSON Web Key Set (JWKS) öffentlich zugänglich über den Endpunkt `/.well-known/jwks.json` bereit. +Für unser Testsystem ist das JWKS z.B. [hier](https://portal.auth-testing.fit-connect.fitko.dev/.well-known/jwks.json) verfügbar. Ein Beispiel für ein JWKS ist in folgendem Ausschnitt dargestellt: - ```json { "keys": [ @@ -69,9 +72,19 @@ Ein Beispiel für ein JWKS ist in folgendem Ausschnitt dargestellt: ] } ``` -Mit diesem JWK Set kann die Signatur eines Zustellpunkt Address Informations JWK überprüft werden. -Hierfür muss der Schlüssel mit der passenden `kid` aus dem Header des Zustellpunkt Address Informations JWK’s im JWK Set gesucht werden. + +Mit diesem JWKS kann die Signatur der Adressierungsinformationen überprüft werden. +Hierfür muss der Schlüssel mit der passenden Schlüssel-ID (Key-ID) aus dem `kid`-Header der Adressierungsinformationen im JWKS ermittelt werden. Dann kann man mit diesem und einer entsprechenden Bibliothek eine Signaturprüfung durchführen. + +<Tabs + defaultValue="java" + values={[ + { label: 'Java (Spring)', value: 'java', }, + ] +}> +<TabItem value="java"> + Im folgenden Beispiel wird die Bibliothek [nimbus-jose-jwt](https://connect2id.com/products/nimbus-jose-jwt) für die Prüfung genutzt. ```java @@ -89,3 +102,6 @@ boolean verifySSPSignature(SignedJWT securityEventToken, String keyId) { return signedJWT.verify(jwsVerifier); } ``` + +</TabItem> +</Tabs> \ No newline at end of file diff --git a/versioned_docs/version-FIT-Connect_v1/getting-started/receiving/routing.mdx b/versioned_docs/version-FIT-Connect_v1/getting-started/receiving/routing.mdx index 37dc22f98..f48f908e5 100644 --- a/versioned_docs/version-FIT-Connect_v1/getting-started/receiving/routing.mdx +++ b/versioned_docs/version-FIT-Connect_v1/getting-started/receiving/routing.mdx @@ -4,22 +4,25 @@ sidebar_position: 4 --- import useBaseUrl from '@docusaurus/useBaseUrl'; +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' -Zustellpunkt Address Informationen können über einen Button in der Self-Service Portal Zustellpunkt Übersichts Liste in die Zwischenablage kopiert werden. Von der Zwischenablage kann es dann in das Redaktionssystem kopiert/import werden. +Um eine [Auffindbarkeit des Zustellpunktes über die Routing API](../sending/get-destination.mdx) zu ermöglichen, müssen die konfigurierten Zuständigkeitsinformationen zunächst in einem an den Portalverbund angeschlossenen Landes-Redaktionssystem des FIM-Bausteins Leistungen hinterlegt werden. +Die zu einem Zustellpunkt gehörigen Zuständigkeits-/Adressierungsinformationen können im Self-Service-Portal über einen Button in der Zustellpunkt-Übersichtsliste in die Zwischenablage kopiert werden. +Von der Zwischenablage können diese Informationen dann in das zuständige Redaktionssystem kopiert/import werden. <div class="center"> - <img width="800" alt="Zustellpunkt Address Informationen können über einen Button in der Zustellpunkt Übersichts Liste in die Zwischenablage kopiert werden. Von der Zwischenablage kann es dann in das Redaktionssystem kopiert/import werden." + <img width="800" alt="Button in der Zustellpunkt-Übersichtsliste" src={useBaseUrl('/images/ssp/destination-overview-export-address-information.png')}/> </div> -### Inhalt eines Zustellpunkt Address Informations JWK - -Der Inhalt eines Address Informations JWK sieht beispielhaft und "json prettyfied" wie folgt aus: +### Inhalt der Adressierungsinformationen +Der dekodierte Inhalt (Payload) der Adressierungsinformationen sieht beispielhaft wie folgt aus (Leerzeichen und Zeilenumbrüche dienen ausschließlich der besseren Lesbarkeit): ```json { "submissionHost": "zustelldienst.example.com", - "iss": "https://portal.example.com", + "iss": "https://self-service-portal.example.com", "services": [ { "gebietIDs": [ @@ -36,13 +39,13 @@ Der Inhalt eines Address Informations JWK sieht beispielhaft und "json prettyfie } ``` -### Signaturprüfung des vom Self-Service Portal (SSP) erstellten Zustellpunkt Address Informations JWK - -Um die Signatur eines JWT zu überprüfen, welches vom SSP ausgestellt wurde, ist es notwendig auf die verwendeten Schlüssel zugreifen zu können. -Das SSP stellt ein JSON Web Key Set (JWKS) öffentlich zugänglich über den Endpunkt ``/.well-known/jwks.json` bereit. Für unser Testsystem ist das JWKS z.B. [hier](https://portal.auth-testing.fit-connect.fitko.dev/.well-known/jwks.json) verfügbar. +### Signaturprüfung der vom Self-Service Portal (SSP) signierten Adressierungsinformationen +Bei den signierten Adressierungsinformationen handelt es sich um signierte JSON Web Tokens (JWTs). +Um die Signatur der vom Self-Service-Portal signierten JWTs zu überprüfen, ist es notwendig, auf die verwendeten Schlüssel (im Format JSON Web Key, kurz JWK) zugreifen zu können. +Das Self-Service-Portal stellt ein JSON Web Key Set (JWKS) öffentlich zugänglich über den Endpunkt `/.well-known/jwks.json` bereit. +Für unser Testsystem ist das JWKS z.B. [hier](https://portal.auth-testing.fit-connect.fitko.dev/.well-known/jwks.json) verfügbar. Ein Beispiel für ein JWKS ist in folgendem Ausschnitt dargestellt: - ```json { "keys": [ @@ -69,9 +72,19 @@ Ein Beispiel für ein JWKS ist in folgendem Ausschnitt dargestellt: ] } ``` -Mit diesem JWK Set kann die Signatur eines Zustellpunkt Address Informations JWK überprüft werden. -Hierfür muss der Schlüssel mit der passenden `kid` aus dem Header des Zustellpunkt Address Informations JWK’s im JWK Set gesucht werden. + +Mit diesem JWKS kann die Signatur der Adressierungsinformationen überprüft werden. +Hierfür muss der Schlüssel mit der passenden Schlüssel-ID (Key-ID) aus dem `kid`-Header der Adressierungsinformationen im JWKS ermittelt werden. Dann kann man mit diesem und einer entsprechenden Bibliothek eine Signaturprüfung durchführen. + +<Tabs + defaultValue="java" + values={[ + { label: 'Java (Spring)', value: 'java', }, + ] +}> +<TabItem value="java"> + Im folgenden Beispiel wird die Bibliothek [nimbus-jose-jwt](https://connect2id.com/products/nimbus-jose-jwt) für die Prüfung genutzt. ```java @@ -89,3 +102,6 @@ boolean verifySSPSignature(SignedJWT securityEventToken, String keyId) { return signedJWT.verify(jwsVerifier); } ``` + +</TabItem> +</Tabs> -- GitLab