Konfiguration DocumentSign-Service
Die Konfiguration erfolgt in der Datei appsettings.json. Die nachfolgenden Unterkapitel beschreiben jeweils einen Toplevel-Eintrag.
Hinweis: Pfadangaben müssen mit doppelte Backslashes geschrieben werden.
Serilog
"Serilog": {
"MinimumLevel": {
"Default": "[LEVEL]"
},
"WriteTo": [
{
"Args": {
"path": "[PATH]",
"rollingInterval": "Day"
},
"Name": "File"
},
{
"Name": "Console"
}
]
}
Dies ist die Serilog-Konfiguration. Serilog wird insbesondere für das File-Logging gebraucht.
MinimumLevel.Default
Folgende Log-Levels werden unterstützt:
- Verbose
- Debug
- Information
- Warning
- Error
- Fatal
Die Log-Levels Verbose und Debug sollten nur für Fehlersuche gesetzt werden, da die geloggte Menge gross werden kann.
WriteTo.Args.Path
Hier wird der Pfad zum Log-File gesetzt. Bsp.: C:\\temp\logs.log
Weitere Konfigurationen
Weitere Konfigurationen siehe https://github.com/serilog/serilog-settings-configuration.
Database
"Database": {
"DatabaseProvider": "[Provider]",
"ConnectionStrings": {
"MSSQL": "[Connection-String]",
"PostgreSQL": "[Connection-String]",
}
}
Das vorliegende JSON-Konfigurationsobjekt "Database" enthält Einstellungen für die Datenbankverbindung in der Anwendung. Es umfasst die folgenden Informationen:
- DatabaseProvider: Hier wird die Datenbanktechnologie angegeben, der in der Anwendung verwendet wird. Es wird "MSSQL" oder "PostgreSQL" unterstützt.
- ConnectionStrings: Dieser Abschnitt enthält die Connection-Strings für die beiden unterstützten Datenbanktechnologien "MSSQL" und "PostgreSQL". Die Connection-Strings sind Platzhalter für die tatsächlichen Verbindungsinformationen, die benötigt werden, um eine Verbindung zur jeweiligen Datenbank herzustellen.
E-Mail-Server
Konfiguriert einen E-Mail-Server, der für alle Mandanten verwendet wird, um E-Mails zu versenden. Ein mandanten-spezifischer E-Mail-Server kann auf Mandanten-Ebene konfiguriert werden.
"EmailConfiguration": {
"SmtpHost": "[SMTP Host]",
"SmtpPort": [PORT],
"UserId": "[SMTP User ID]",
"Password": "[SMTP Password]",
"SslEnabled": [true/false],
"EMailFrom": "[SMTP Sender E-Mail]"
}
SmtpHost
: Hier wird der Hostname oder die IP-Adresse des SMTP-Servers angegeben, über den E-Mails versendet werden sollen.SmtpPort
: Dieser Wert gibt den Port an, der für die SMTP-Kommunikation verwendet wird.UserId
(Optional): Hier wird der Benutzername oder die Benutzerkennung für den SMTP-Server angegeben. Diese Anmeldeinformationen ermöglichen die Authentifizierung beim Versenden von E-Mails.Password
(Optional): Dieses Feld enthält das Passwort, das zur Anmeldung am SMTP-Server verwendet wird. Es dient der Sicherung der Authentifizierungsinformationen.SslEnabled
(Standardmässig false): Hier wird festgelegt, ob eine verschlüsselte SSL/TLS-Verbindung für die Kommunikation mit dem SMTP-Server verwendet werden soll. Ein Wert von "true" bedeutet, dass SSL/TLS aktiviert ist, während "false" darauf hinweist, dass keine Verschlüsselung verwendet wird.EMailFrom
: Legt die Absender-E-Mail-Adresse fest, mit der das E-Mail versendet wird.
General
"General": {
"JobTimeoutsInSeconds": {
"DeepSignJob": [TimeInSec (default = 900)],
"EvidenceJob": [TimeInSec (default = 0 (OFF))],
"SignLiveJob": [TimeInSec (default = 0 (OFF))],
"SwissSignJob": [TimeInSec (default = 900)],
"SignFinalizerJob": [TimeInSec (default = 15)],
"SignCleanupJob": [TimeInSec (default = 30)],
"DbUnlockerJob": [TimeInSec (default = 30)],
"EmailSenderJob": [TimeInSec (default = 30)]
},
"BaseUrl": "[Base-URL]"
},
JobTimeoutsInSeconds
Der Service besteht aus Jobs, die im Hintergrund laufen. Hier kann die Sleep-Zeit dieser verschiedenen Services eingestellt werden. Diese Konfiguration ist optional. Wenn der Wert 0 eingetragen wird, ist der Job deaktiviert.
BaseUrl
Setzt die Base-URL des Services. Die URL muss inklusive Protokoll und Port angegeben werden, jedoch ohne den Mandanten. Bsp.: https://docusign.cmicloud.ch
Tenants
{
"Tenants": {
"[Tenant-Key]": {
"ApiBaseUrl": "[PROTOKOLL]://[DOMAIN]:[OWIN-PRIVATE-PORT]",
"Security": {
"CmiStsUri": "[STS-URL]",
"Client_secret": "[STS-CLIENT-SECRET]",
"Client_id": "[STS-CLIENT-ID]",
},
"DeepSignConfiguration": {
"CompanyId": "[Company ID]",
"Username": "[Username]",
"Password": "[Password]",
"BrokerUrl": "[Broker Url]",
"DeepSignUrl": "[DeepSign Url]"
},
"EvidenceConfiguration": {
"BaseUrl": "[Base Url]",
"ApiKey": "[Api Key]"
},
"SignLiveConfiguration": {
"BaseUrl": "[Base Url]"
},
"SwissSignConfiguration": {
"OrganizationId": "[Organization ID]",
"WorkflowId": "[Workflow ID]",
"RoomId": "[Room ID]",
"BaseUrl": "[Base URL (incl. /api/v3)]",
"Username": "[Username]",
"Password": "[Password",
"CertificatePath": "[Path]",
"CertificateSecret": "[Secret]"
},
"EmailConfiguration": {
// wie globale Konfiguration
}
}
}
}
In der "Tenants"-Konfiguration werden einzelne Mandanten als eigenständige JSON-Objekte innerhalb des "Tenants"-Objekts definiert. Der Schlüssel des jeweiligen Objekts entspricht dabei dem Namen des Mandanten.
Hier ist ein Beispiel mit den Mandanten prod und test:
"Tenants": {
"prod": {
...
},
"test": {
...
}
}
ApiBaseUrl
Url zur Metatool API. Die Url muss auf dem Owin-Privateport gerichtet sein.
Beispiel: https://mandant.cmicloud.ch:10004
Security
Hier wird der STS konfiguriert. Dieser ist notwendig, damit die API mit dem CMI Server Service kommunizieren kann.
[Hier]](./Konfiguration-STS-3.md) ist die Minimalkonfiguration vom STS beschrieben.
CmiStsUri
Url zum STS. URL muss inkl. Mandant angegeben werden und mit /identity
enden. Beispiel.: https://sts3.cloud.ch/<MANDANT>/identity
Client_id
Die Client ID welche für die Web-API verwendet wird. Details, u.a. welche Grant-Types unterstützt werden müssen, und eine Beispielkonfiguration sind hier zu finden.
Client_secret
Client Secret welches beim STS konfiguriert ist. Das Client Secret muss in Plaintext eingetragen sein.
DeepSignConfiguration
{
"DeepSignConfiguration": {
"CompanyId": "[Company ID]",
"Username": "[Username]",
"Password": "[Password]",
"BrokerUrl": "[Broker Url]",
"DeepSignUrl": "[DeepSign Url]"
}
}
In diesem Abschnitt befinden sich die Einstellungen für den Signaturprovider "DeepSign".
CompanyId
Das ist die Company-ID von DeepSign. Diese wird von DeepSign zur Verfügung gestellt.
Username, Password
Es muss erstmalig ein Serviceuser in DeepBox erstellt werden (https://admin.deepbox.swiss/organization/Username
und Password
eingetragen werden.
DeepSignUrl
DeepSign ist eine Cloud-Lösung. Aktuell kann die URL https://api.sign.deepbox.swiss
verwendet werden.
BrokerUrl
DeepSign ist eine Cloud-Lösung. Aktuell kann die URL https://deepcloud.swiss
verwendet werden.
EvidenceConfiguration
{
"EvidenceConfiguration": {
"BaseUrl": "[Base Url]",
"ApiKey": "[Api Key]"
}
}
In diesem Abschnitt befinden sich die Einstellungen für den Signaturprovider "Evidence".
BaseUrl
API Base-URL zur V2-API von Evidence. Bsp.: https://esignature-solution.evidence.ch/wegaservice/v2/
.
ApiKey
API-Key für die Evidence-API.
SignLiveConfiguration
{
"SignLiveConfiguration": {
"BaseUrl": "[Base Url]"
}
}
In diesem Abschnitt befinden sich die Einstellungen für den Signaturprovider "SignLive".
BaseUrl
API Base-URL zur API von SignLive. Bsp.: https://cloudsuite.intarsys.de/cloudsuite-gears/core
.
SwissSignConfiguration
{
"SwissSignConfiguration": {
"OrganizationId": "[Organization ID]",
"WorkflowId": "[Workflow ID]",
"RoomId": "[Room ID]",
"BaseUrl": "[Base URL (incl. /api/v3)]",
"Username": "[Username]",
"Password": "[Password",
"CertificatePath": "[Path]",
"CertificateSecret": "[Secret]"
}
}
In diesem Abschnitt befinden sich die Einstellungen für den Signaturprovider "SwissSign". Alle Parameter werden von SwissSign zur Verfügung gestellt.
OrganizationId
Die zu verwendende Organization-ID.
WorkflowId
Die zu verwendende Workflow-ID.
RoomId
Die zu verwendende Room-ID.
Username, Password
Die zu verwendenden Anmelde-Daten (Benutzername und Passwort).
BaseUrl
Die URL zur SwissSign-API inkl. /api/v3
. Bsp.: https://swisssign.ch/api/v3
CertificatePath
Pfad zum PFX-Zertifikat. Diese Einstellung wird nur benötigt, wenn es für die Kommunikation mit der SwissSign-Schnittstelle ein Client-Zertifikat benötigt.
CertificateSecret
Password vom PFX-Zertifikat. Diese Einstellung wird nur benötigt, wenn es für die Kommunikation mit der SwissSign-Schnittstelle ein Client-Zertifikat benötigt.
EmailConfiguration
Optional können E-Mail-Server-Einstellungen pro Mandant festgelegt werden. Werden keine E-Mail-Server-Einstellungen auf Mandanten-Ebene festgelegt, wird die globale Konfiguration für den Mandanten verwendet.