# Appsettings.json

Po pomyślnej instalacji aplikacji **SIGNIUS Sealing Server**, ważnym krokiem jest prawidłowe ustawienie parametrów działania aplikacji w pliku konfiguracyjnym appsettings.json. Plik ten zawiera wszystkie niezbędne informacje dotyczące połączeń, protokołów komunikacyjnych oraz integracji z urządzeniami QSCD. Poniżej znajdują się szczegółowe informacje dotyczące konfiguracji tego pliku oraz wskazówki, które pozwolą na płynne przejście od instalacji do uruchomienia i użytkowania aplikacji.

## Plik konfiguracyjny

Otwórz plik appsettings.json znajdujący się w folderze głównym katalogu aplikacji i dostosuj następujące ustawienia:

* połączenie z bazą danych
* url – nazwa hosta/adres IP i porty do komunikacji
* szczegóły logowania/rejestrowania/monitorowania
* szczegóły QSCD (urządzenia HSM)

### Baza danych

W pierwszych wierszach pliku konfiguracyjnego znajdują się dwa parametry:

* *ConnectionStrings*
* *DumpDbSchema*

#### ConnectionStrings

Zawiera szczegóły połączenia/dostępu do serwera bazy danych (może być szyfrowany w celu zapewnienia dodatkowej ochrony)

Domyślnie dostępnych jest wiele wartości ciągu połączenia, w zależności od wersji silnika **ECE** (opcje bazy danych opisane w wymaganiach).

* Wybierz tę, która pasuje do Twojej bazy danych.
* Dostosuj wartości adresu i nazwy bazy danych, danych uwierzytelniających użytkownika i inne, jeśli ma to zastosowanie.
* Usuń pozostałe wartości połączenia, jak w poniższej wskazówce (pamiętaj o odpowiedniej liczbie przecinków w strukturze JSON).

{% hint style="info" %}
aby zaszyfrować parametr ConnectionStrings wykonaj następujące czynności:

wpisz

!ENCRYPT!

przed wartością ciągu połączenia, ale nadal wewnątrz cudzysłowia, w taki sposób:

"ConnectionStrings": {"MssqlConnectionString": "!ENCRYPT!Server=\<server>;Database=\<dbname>;User Id=\<user name>;Password=\<password>;TrustServerCertificate=true;"},

po wykonaniu tej czynności zapisz plik konfiguracyjny i uruchom ponownie **SIGNIUS Sealing Server.**
{% endhint %}

#### DumpDbSchema

Po ustawieniu na „true” tworzony jest plik schematu, który może być użyty do utworzenia struktury w bazie danych, jeśli zajdzie taka potrzeba.

{% hint style="info" %}
Używane głównie w przypadkach, gdy użytkownik z ciągu połączenia nie ma odpowiednich uprawnień — nie można utworzyć schematu w bazie danych
{% endhint %}

### URL

W pliku konfiguracyjnym wyszukaj parametry:

* *Kestrel*
* *HostSettings*

te parametry zawierają adres IP/nazwę hosta/porty do komunikacji z serwerem (porty nasłuchujące)

### Logi

W pliku konfiguracyjnym wyszukaj parametry:

* *Logging* - ustawianie poziomu domyślnego i logów Microsoft
* *Serilog* - ustawianie poziomu dodatkowych logów z logowaniem do konsoli, pliku, wysyłaniem powiadomień przez serwer SMTP na adres e-mail użytkownika. Dostępne są również inne opcje serilogu zgodnie z informacjami na GitHubie:
  * <https://github.com/serilog>

### QSCD

W pliku konfiguracyjnym wyszukaj parametr *HsmDevices*, w którym możesz zdefiniować wiele **bibliotek** urządzeń QSCD/HSM. W *HsmDevices* właściwość *DeviceName* powinna odzwierciedlać nazwę ustawioną w kolejnej części konfiguracji (konfiguracja bazy danych), a właściwość *Library* powinna wskazywać ścieżkę do biblioteki pkcs11 urządzenia QSCD, dostępnej z **SIGNIUS Sealing Server** (jeśli ścieżka zawiera znaki specjalne, należy je poprzedzić znakiem ucieczki, więc w przypadku „\” używamy „\\\”).

Obsługiwane są wszystkie biblioteki pkcs11, w szczególności:

* Utimaco (zarówno HSM, jak i symulator)
* Thales
* Entrust/nShield
* SoftHSM/SoftHSM2


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.signius.eu/manuals/seal_pl/signius-sealing-server-i-client/signius-sealing-server/konfiguracja/appsettings-json.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
