sgcSign Server

Ein selbst gehosteter Daemon für Remote-Code-Signing, der die sgcSign-Engine hinter einer REST-API, einer Bootstrap-Web-Admin-Konsole und fertigen CI/CD-Pipelines bündelt.

REST-API + Web-Admin
7 Signaturformate
Mandantenfähige Projekte
Hash-verkettetes Audit-Log

Was du bekommst

Ein einziger Host, Windows oder Linux, nimmt Signing-Requests von Build-Agents, Entwicklern und CI-Pipelines entgegen — mit eingebautem Audit, Genehmigungen und Metriken.

REST-API

TLS-gesicherte /api/v1-Endpunkte für Signaturerstellung, Verifizierung, Health, Metriken und Genehmigungs-Workflows. Stabiler, maschinenfreundlicher Vertrag für Build-Agents und SDKs.

Web-Admin-Konsole

Bootstrap-basierte /admin-Oberfläche für Nutzer, API-Keys, Provider, Projekte, Audit, Genehmigungen, Webhooks und Metriken. Betreiber müssen kein JSON editieren.

Windows-Service-Installer

Inno-Setup-Assistent oder Zip-Drop. Der Daemon registriert sich als Windows-Service, terminiert TLS selbst und läuft unbeaufsichtigt auf einem gehärteten Host.

Mandantenfähige Projekte

Jedes Projekt isoliert einen Ausschnitt aus Providern, API-Keys, Audit-Sichtbarkeit und Genehmigungs-Queues. Mehrere Teams teilen sich einen Server, ohne das Signing-Material des jeweils anderen zu sehen.

Zweistufiger Genehmigungs-Workflow

Derselbe API-Key stellt den Antrag, ein Admin oder Projekt-Admin genehmigt oder lehnt ab, erst danach werden die Bytes signiert. SHA-256-Hash und Dateigröße werden in den Antrag eingebrannt.

SHA-256-Audit-Log

Jede Aktion — Signieren, Verifizieren, Login, Genehmigung, Webhook-Auslösung — wird an ein hash-verkettetes Audit-Log angehängt. Manipulationen sind erkennbar; SIEM-Scraping ist unkompliziert.

Prometheus-Metriken

Counter für Sign / Verify / Approval, Histogramme zur Signaturlatenz, Gauges zur Provider-Verfügbarkeit. Direktes Prometheus-0.0.4-Text-Format ohne zusätzliche Datenbank.

HMAC-signierte Webhooks

13 Lifecycle-Events, ausgeliefert mit X-Sgcsign-Signature: sha256=…. Eine Retry-Queue mit drei Versuchen hält SIEM, Chat und Ticketing-Systeme synchron.

XAdES · PAdES · CAdES

Dieselbe Engine wie in der Bibliothek, freigegeben über die REST-API. Jedes Länderprofil, jede Signaturstufe.

XAdES

XML-Signaturen für VeriFactu, FatturaPA, Facturae, KSeF, e-Factura, Peppol, myDATA und EU-Arbeitsverträge. POST /api/v1/sign/xades.

PAdES

PAdES-Basic-PDF-Signaturen mit inkrementellen Updates, die den Originalinhalt erhalten. Sichtbare oder unsichtbare Signaturen. POST /api/v1/sign/pades.

CAdES

CMS-/PKCS#7-Signaturen, detached oder attached, für beliebige Binärdaten. Zeitstempel + Long-Term Validation. POST /api/v1/sign/cades.

Tschechische EET 2.0

Erstellt und signiert einen erfassten Verkauf mit einem Schlüssel, den der Server verwaltet, sendet ihn optional an die Steuerbehörde und gibt die Antwort zurück. Mehrere Kassen einer Kette teilen sich ein Zertifikat des Steuerpflichtigen. POST /api/v1/sign/eet.

Authenticode, ClickOnce, NuGet, VSIX

Der Signing-Daemon spricht mit der Zertifikatsquelle, die du konfigurierst: Windows-Store, PFX, PKCS#11-Hardware-Token, Azure Trusted Signing, AWS KMS, Google KMS.

Authenticode

Signiere .exe, .dll, .msi, .cab, .cat, .ocx, .sys. Im Hash-only-Modus tauschen Runner mit wenig Bandbreite ein paar Dutzend Bytes gegen einen 8-KB-PKCS#7-Blob.

ClickOnce

Signiere ClickOnce-Manifeste (.application / .manifest), damit Windows-Clients ohne Trust-Prompts installieren. POST /api/v1/sign/clickonce.

NuGet-Pakete

Signiere .nupkg-Pakete, damit der NuGet-Client die Publisher-Identität validiert. Author- und Repository-Signaturen werden unterstützt. POST /api/v1/sign/nuget.

VSIX-Erweiterungen

Signiere Visual-Studio-Erweiterungspakete, damit VS Marketplace und die IDE selbst sie als vertrauenswürdig akzeptieren. POST /api/v1/sign/vsix.

Drop-in für jede gängige Pipeline

Build-Agents sprechen einen stabilen REST-Endpunkt an, statt auf jedem Runner Signatur-Zertifikate zu installieren.

GitHub Actions

Eine Composite Action schickt das Artefakt an die REST-API des Servers. Das Token wird im Web-Admin ausgestellt, auf ein Projekt eingeschränkt und verlässt nie den Secret-Store des Runners.

Azure DevOps

Ein Pipeline-Task führt den sgcSign-CLI-Client aus, der das Binary hochlädt, bei Bedarf auf Genehmigung wartet und das signierte Ergebnis herunterlädt — alles in einem Schritt.

Jenkins

Snippet für deklarative Pipelines mit curl oder der mitgelieferten CLI. Funktioniert mit Linux- und Windows-Agents; die Signatur erscheint als Build-Artefakt.

Docker

Image mit dem Daemon und einer Beispiel-Provider-Konfiguration. Starte den Container, mounte dein TLS-Zertifikat + Provider-Secrets und du hast einen portablen Signing-Dienst.

Helm-Chart

Deploye auf Kubernetes für vollständig redundantes, skalierbares Signing. Kombiniere mit Cloud-KMS (Azure Trusted Signing, AWS KMS, Google KMS) für schlüssellose Pods.

Wie die Teile zusammenpassen

Ein einziger Windows-Dienst terminiert TLS, stellt /api/v1 + /admin bereit und greift bei jedem Aufruf auf den konfigurierten Key-Provider zu. Schlüsselmaterial liegt nie in der Datenbank.

Eine Binary, drei Schnittstellen

  • Build-Agents sprechen /api/v1 über HTTPS mit einem Bearer-API-Key an.
  • Betreiber melden sich in jedem Browser an /admin an. Bootstrap-UI, Session-Cookies, rollenbasierter Zugriff.
  • Key-Provider werden bei Bedarf aus PFX, Windows-Store, PKCS#11, Azure TS, AWS KMS, GCloud KMS, Vault, Certum, CSC v2 geladen.
  • SQLite-Datenbank hält Nutzer, API-Keys, Audit-Log, Sessions und Webhook-Queue vor. Nie das Schlüsselmaterial selbst.
  • Webhooks feuern bei jedem auditierten Event asynchron an SIEM und Chat-Systeme.
topology.txt
                +----------------------------+
                |   Build agents / CI / CLI  |
                +-------------+--------------+
                              |
                              | HTTPS (TLS 1.2/1.3)
                              v
        +-------------------------------------------+
        |   sgcSignServer.exe   (Windows service)   |
        |   /api/v1/*    (signing, verify, health)  |
        |   /admin/*     (web console, sessions)    |
        +---+-----------------+---------------------+
            |                 |                |
            v                 v                v
     +-------------+   +---------------+   +-----------+
     |  SQLite DB  |   | KeyProviders  |   |  Webhooks |
     | (audit/keys)|   | PFX/HSM/KMS   |   | (outbound)|
     +-------------+   +---------------+   +-----------+

Ein curl entfernt

Ein Bearer-API-Key, ein Hash- oder Datei-Upload, und das signierte Binary fließt zurück auf stdout. Authenticode, CAdES, PAdES, XAdES, ClickOnce, NuGet, VSIX folgen alle derselben Form.

Eine .exe in einem Aufruf signieren

  • X-API-Key oder Authorization: Bearer — beide Auth-Methoden funktionieren.
  • X-Project wählt den Mandanten; der Key muss für das Projekt autorisiert sein.
  • Die Antwort enthält X-Sgcsign-Signer-Subject + X-Sgcsign-Duration-Ms für die Log-Korrelation.
  • Hash-only-Modus für Authenticode: sende den SHA-256, erhalte einen winzigen PKCS#7-Blob.
sign-binary.sh
# Authenticode-sign MyApp.exe via the REST API
curl -X POST https://sign.example.com/api/v1/sign \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Project: production" \
  -F "format=authenticode" \
  -F "file=@./MyApp.exe" \
  -o MyApp-signed.exe

# Headers returned by the server
# X-Sgcsign-Signer-Subject: CN=ACME Corp, O=ACME, C=US
# X-Sgcsign-Duration-Ms: 312

In drei Schritten zur signierten Binary

Vom frischen Windows-Host zum ersten signierten Artefakt in unter fünf Minuten.

1

Installieren

Starte den mitgelieferten Inno-Setup-Assistenten oder lege das ZIP in einen Ordner ab. Der Daemon registriert sich als Windows-Service namens sgcSignServer. Binde dich auf :8443 und lade dein TLS-Zertifikat.

2

Key-Provider konfigurieren

Trage einen Provider in sgcSignServer.conf.json ein — eine PFX-Datei, ein Azure-Trusted-Signing-Konto, einen AWS-KMS-Key, einen Certum-SimplySign-Nutzer oder einen der zehn anderen Key-Provider. Ein Neustart des Dienstes ist nicht nötig.

3

Token ausstellen, API aufrufen

Öffne /admin/apikeys, klicke auf New API key, schränke ihn auf ein Projekt ein und kopiere das Token in den Secret deines CI-Runners. Der Build-Agent ruft POST /api/v1/sign auf.

Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Signing über deine gesamte Build-Farm zentralisieren

Hör auf, Signatur-Zertifikate auf jeden Build-Agent zu kopieren. Ein sgcSign Server, ein REST-Endpunkt, vollständiges Audit und Genehmigungen.