# Architektura

### Opis

Przykładowy system, przedstawiony na diagramach, składa się z dwóch głównych domen: domeny odbiorcy/konsumenta i domeny dostawcy. Diagramy ilustrują proces, w którym odbiorca/konsument używa aplikacji biznesowej do opieczętowania dokumentu, korzystając z usług świadczonych przez **SIGNIUS** w wielu różnych konfiguracjach.

#### Komponenty

* Aplikacja kontrolna/biznesowa – aplikacja biznesowa używana przez odbiorcę/konsumenta do inicjowania procesu pieczętowania dokumentów.
* Folder sieciowy – ścieżka do katalogu, w którym odbywa się wymiana pieczętowanych dokumentów.
* **SIGNIUS Sealing Client** – aplikacja kliencka rozwiązania do pieczętowania w systemie, odpowiedzialna za komunikację z **SIGNIUS Sealing Server** (a w przypadku konfiguracji z użyciem kart/smartcard, również za komunikację z kartą/czytnikiem kart) oraz przetwarzanie danych niezbędnych do pieczętowania dokumentów.
* **SIGNIUS Sealing Server** – aplikacja serwerowa systemu do pieczętowania, odpowiedzialna za komunikację z QSCD, QTSP i serwerem bazy danych.
* QSCD (Qualified Seal/Signature Creation Device) – urządzenie do tworzenia kwalifikowanych podpisów, które zapewnia bezpieczeństwo procesu.
* Zdalny QTSP (Qualified Trust Service Provider) – usługa zdalnego dostawcy usług zaufania, która zapewnia kwalifikowany znacznik czasu i walidację.
* Serwer bazy danych – serwer SQL przechowujący konfigurację procesu.

#### Bezpieczeństwo i komunikacja

Komunikacja między **SIGNIUS Sealing Client** a **SIGNIUS Sealing Server** oraz między **SIGNIUS Sealing Server** a systemami QSCD/QTSP jest zabezpieczona protokołem HTTPS, który zapewnia poufność i integralność przesyłanych danych. Zastosowanie protokołu HTTPS oraz zaufanych komponentów, takich jak QTSP i QSCD, gwarantuje wysoki poziom bezpieczeństwa w procesie weryfikacji i pieczętowania dokumentów.

System stanowi kompleksowe rozwiązanie do generowania i weryfikacji pieczęci cyfrowych, integrując aplikacje biznesowe odbiorcy/konsumenta z zaawansowanymi usługami kryptograficznymi świadczonymi przez firmę **SIGNIUS** i partnerów zewnętrznych.

### 🏛️ Konfiguracja Hostowana

<figure><img src="https://2699854273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtezBHuvK2g3tBmuL6LEV%2Fuploads%2FjPfgO9mAiGAfCSkXyNPp%2FSSeal_Deployments_EN-SSeal_Hosted.jpg?alt=media&#x26;token=58803c6e-bd8d-498d-82c4-e314d98b25ee" alt=""><figcaption></figcaption></figure>

#### Przebieg

* Aplikacja biznesowa odbiorcy/konsumenta przesyła dane do **SIGNIUS Sealing Server** za pośrednictwem REST API.
* **SIGNIUS Sealing Server** zwraca hash dokumentu (DocHash) w przypadku pojedynczych dokumentów, a w przypadku batch'y/paczek dokumentów zwraca batch/pakiet dokumentów z już osadzonym podpisem/pieczęcią za pośrednictwem REST API.&#x20;

### 🏛️ Konfiguracja Hybrydowa

<figure><img src="https://2699854273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtezBHuvK2g3tBmuL6LEV%2Fuploads%2Fc2uTNxINtpSIC64hIZrw%2FSSeal_Deployments_EN-SSeal_Hybrid.jpg?alt=media&#x26;token=eef41fec-5eb6-4440-97f9-62b31c4b583e" alt=""><figcaption></figcaption></figure>

#### Przebieg

* Aplikacja biznesowa odbiorcy/konsumenta przesyła dane do **SIGNIUS Sealing Client** za pośrednictwem REST API lub korzystając z wstępnie skonfigurowanego katalogu w systemie plików (niezależnie od tego, czy jest to folder sieciowy, czy lokalny).
* **SIGNIUS Sealing Client** wysyła żądanie opieczętowania dokumentu za pomocą zintegrowanego **SIGNIUS Sealing Server** za pośrednictwem REST API.
* **SIGNIUS Sealing Server** składa podpis/pieczęć i surowy dokument w dokument z osadzonym podpisem/pieczęcią (dokument opieczętowany).
* **SIGNIUS Sealing Server** zwraca do **SIGNIUS Sealing Client** dokument z osadzonym już podpisem/pieczęcią za pośrednictwem REST API.&#x20;
* **SIGNIUS Sealing Client** dostarcza opieczętowany dokument do aplikacji biznesowej odbiorcy/konsumenta za pomocą metody wymiany, która rozpoczęła cały proces (SYSTEM PLIKÓW lub REST).

### 🏛️ Konfiguracja On-premise

<figure><img src="https://2699854273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtezBHuvK2g3tBmuL6LEV%2Fuploads%2F4loEYjwmrsjQGUD34FlB%2FSSeal_Deployments_EN-SSeal_On-Prem.jpg?alt=media&#x26;token=d4ea6b08-2e01-42ca-a227-6fed35fa757b" alt=""><figcaption></figcaption></figure>

#### Przebieg

* Konfiguracja **On-premise** łączy wszystkie możliwe przebiegi zarówno konfiguracji **Hostowanej**, jak i **Hybrydowej**, ale w całości w obrębie domeny odbiorcy/konsumenta. We właściwie skonfigurowanym środowisku praktycznie nie ma potrzeby, aby jakiekolwiek połączenie wychodziło poza granice sieci organizacji, co zapewnia wysoki poziom bezpieczeństwa systemu.

### 🏛️ Konfiguracja Kartowa

<figure><img src="https://2699854273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtezBHuvK2g3tBmuL6LEV%2Fuploads%2Ft07tRBr0fCQAvEeUj162%2FSSeal_Deployments_EN-SSeal_Smartcard1.jpg?alt=media&#x26;token=ac223dcf-8f3b-43f3-9a01-11234d73095d" alt=""><figcaption></figcaption></figure>

Ta wersja konfiguracji **Kartowej** ma ten sam zestaw funkcji co wersja **Hybrydowa**, ale jest nieco trudniejsza w konfiguracji, a gdy do szyfrowania używa się karty/smartcard zamiast modułu HSM, zapewnia ona niższą prędkość i poziom ochrony/bezpieczeństwa.

#### Przebieg

* Podobnie jak w konfiguracji **Hybrydowej**, żądanie opieczętowania dokumentu jest inicjowane przez aplikację sterującą odbiorcy/konsumenta i przekazywane do **SIGNIUS Sealing Client**.
* **SIGNIUS Sealing Client**, zamiast przekazywać żądanie do **SIGNIUS Sealing Server**, używa certyfikatu znajdującego się na karcie/smartcard (dostępnej na komputerze z zainstalowanym **SIGNIUS Sealing Client** za pośrednictwem czytnika kart) do złożenia podpisu/pieczęci (z tego certyfikatu) i surowego dokumentu w dokument z osadzonym podpisem/pieczęcią (dokument opieczętowany).
* \***SIGNIUS Sealing Client** może dodatkowo wysłać opieczętowany dokument do **SIGNIUS Sealing Server** w celu dodania znacznika czasu – w zależności od konfiguracji procesu.
* Ostatecznie zwraca opieczętowany dokument za pomocą metody wymiany, która rozpoczęła cały proces.

<figure><img src="https://2699854273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtezBHuvK2g3tBmuL6LEV%2Fuploads%2FsuOz2kCdLG58cuTWHvM2%2FSSeal_Deployments_EN-SSeal_Smartcard2.jpg?alt=media&#x26;token=4aca514b-8094-4d8e-aa80-fb02e8bcd05e" alt=""><figcaption></figcaption></figure>

#### Przebieg

* Ta wersja konfiguracji **Kartowej** ma ten sam zestaw funkcji co konfiguracja **On-Premise**, ale może także wykorzystywać kartę/smartcard oprócz lub zamiast modułu HSM w celu szyfrowania w wybranych procesach.
