sgcSign Server
Een self-hosted remote code-ondertekendaemon die de sgcSign-engine verpakt achter een REST-API, een Bootstrap-webadmin-console en kant-en-klare CI/CD-pipelines.
Een self-hosted remote code-ondertekendaemon die de sgcSign-engine verpakt achter een REST-API, een Bootstrap-webadmin-console en kant-en-klare CI/CD-pipelines.
Eén host, Windows of Linux, accepteert ondertekenverzoeken van build-agents, ontwikkelaars en CI-pipelines — met volledige audit, goedkeuringen en metrics ingebouwd.
Met TLS beveiligde /api/v1-endpoints voor ondertekening, verificatie, health, metrics en goedkeuringsworkflows. Een stabiel, machinevriendelijk contract voor build-agents en SDK's.
Op Bootstrap gebaseerde /admin-UI voor gebruikers, API-sleutels, providers, projecten, audit, goedkeuringen, webhooks en metrics. Beheerders hoeven nooit JSON te bewerken.
Inno Setup-wizard of zip-drop. De daemon registreert zichzelf als Windows-service, beëindigt TLS zelf en draait zonder toezicht op een geharde host.
Elk project isoleert een subset van providers, API-sleutels, audit-zichtbaarheid en goedkeuringswachtrijen. Meerdere teams delen één server zonder elkaars ondertekeningsmateriaal te zien.
Dezelfde API-sleutel doet een verzoek, een admin of projectadmin keurt het goed of af, en pas daarna worden de bytes ondertekend. SHA-256-hash en bestandsgrootte staan vast in het verzoek.
Elke actie — ondertekenen, verifiëren, inloggen, goedkeuren, webhook afvuren — wordt toegevoegd aan een hash-geketend audit-log. Manipulatie is detecteerbaar; SIEM-scraping is rechttoe rechtaan.
Tellers voor ondertekenen / verifiëren / goedkeuren, histogrammen voor ondertekenlatentie, gauges voor providerbeschikbaarheid. Directe Prometheus 0.0.4-tekstexpositie zonder extra database om te beheren.
13 lifecycle-events afgeleverd met X-Sgcsign-Signature: sha256=…. Een retry-wachtrij met drie pogingen houdt SIEM-, chat- en ticketing-systemen synchroon.
Dezelfde engine die in de bibliotheek zit, ontsloten via de REST-API. Elk landprofiel, elk handtekeningniveau.
XML-handtekeningen voor VeriFactu, FatturaPA, Facturae, KSeF, e-Factura, Peppol, myDATA en EU-arbeidscontracten. POST /api/v1/sign/xades.
PAdES-Basic-PDF-handtekeningen met incrementele updates die de originele inhoud behouden. Zichtbare of onzichtbare handtekeningen. POST /api/v1/sign/pades.
CMS-/PKCS#7-detached- of attached-handtekeningen voor willekeurige binaire data. Tijdstempel + long-term validation. POST /api/v1/sign/cades.
Bouwt en ondertekent een geregistreerde verkoop met een sleutel die op de server staat, verstuurt die optioneel naar de belastingdienst en geeft het antwoord terug. Alle kassasystemen van een keten delen één certificaat van de belastingplichtige. POST /api/v1/sign/eet.
De ondertekeningsdaemon praat met de certificaatbron die jij configureert: Windows-store, PFX, PKCS#11-hardwaretoken, Azure Trusted Signing, AWS KMS, Google KMS.
Onderteken .exe, .dll, .msi, .cab, .cat, .ocx, .sys. In hash-only-modus wisselen runners met weinig bandbreedte een paar tientallen bytes uit voor een PKCS#7-blob van 8 KB.
Onderteken ClickOnce-manifests (.application / .manifest) zodat Windows-clients installeren zonder trust-prompts. POST /api/v1/sign/clickonce.
Onderteken .nupkg-packages zodat de NuGet-client de identiteit van de uitgever valideert. Author- en repository-handtekeningen worden ondersteund. POST /api/v1/sign/nuget.
Onderteken Visual Studio-extensiepackages zodat zowel VS Marketplace als de IDE zelf ze als vertrouwd accepteren. POST /api/v1/sign/vsix.
Build-agents roepen een stabiel REST-endpoint aan in plaats van ondertekeningscertificaten op elke runner te installeren.
De composite action post het artefact naar de REST-API van de server. Het token wordt uitgegeven door de webadmin, gekoppeld aan een project en verlaat nooit de secret-store van de runner.
De pipeline-taak draait de sgcSign-CLI-client, die de binary uploadt, indien nodig pollt op goedkeuring en het ondertekende resultaat downloadt — allemaal in één stap.
Declarative-pipeline-snippet met curl of de meegeleverde CLI. Werkt met zowel Linux- als Windows-agents; de handtekening verschijnt als build-artefact.
Image met de daemon en een voorbeeld-providerconfig. Draai de container, mount je TLS-cert en provider-secrets en je hebt een portable ondertekeningsservice.
Deploy op Kubernetes voor volledig redundante, opgeschaalde ondertekening. Combineer met een cloud-KMS (Azure Trusted Signing, AWS KMS, Google KMS) voor sleutelloze pods.
Eén Windows-service termineert TLS, biedt /api/v1 + /admin aan en raadpleegt bij elke aanroep de geconfigureerde sleutelprovider. Sleutelmateriaal staat nooit in de database.
/api/v1 aan via HTTPS met een bearer API-sleutel.
/admin in elke browser. Bootstrap-UI, sessiecookies, op rollen gebaseerde toegang.
+----------------------------+
| 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)|
+-------------+ +---------------+ +-----------+
curl verwijderdEen bearer API-sleutel, een hash- of bestandsupload en de ondertekende binary stroomt terug naar stdout. Authenticode, CAdES, PAdES, XAdES, ClickOnce, NuGet en VSIX delen dezelfde vorm.
X-API-Key of Authorization: Bearer — beide auth-methodes werken.
X-Project selecteert de tenant; de sleutel moet geautoriseerd zijn voor het project.
X-Sgcsign-Signer-Subject + X-Sgcsign-Duration-Ms voor log-correlatie.
# MyApp.exe Authenticode-ondertekenen via de 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 die de server teruggeeft
# X-Sgcsign-Signer-Subject: CN=ACME Corp, O=ACME, C=US
# X-Sgcsign-Duration-Ms: 312
Van een verse Windows-host naar het eerste ondertekende artefact in minder dan vijf minuten.
Draai de meegeleverde Inno Setup-wizard of pak de zip uit in een map. De daemon registreert zichzelf als een Windows-service genaamd sgcSignServer. Bind aan :8443 en laad je TLS-certificaat.
Voeg een provider toe aan sgcSignServer.conf.json — een PFX-bestand, een Azure Trusted Signing-account, een AWS KMS-sleutel, een Certum SimplySign-gebruiker of een van de andere tien sleutelproviders. Geen service-herstart vereist.
Open /admin/apikeys, klik op New API key, koppel deze aan een project en kopieer het token naar je CI-runner-secret. De build-agent roept POST /api/v1/sign aan.