Delphi XAdES & PAdES digitale handtekeningen | sgcSign | eSeGeCe

XAdES & PAdES digitale handtekeningen in Delphi

sgcSign produceert digitale handtekeningen op eIDAS-niveau vanuit Delphi-, C++Builder- en .NET-code: XAdES voor XML, PAdES voor PDF, CAdES voor willekeurige binaire content en ASiC-containers om documenten met hun handtekeningen te bundelen. Alle vier AdES-niveaus, 10 key-providers en 21 voorgeconfigureerde EU-landenprofielen, met native CNG/BCrypt-cryptografie en zonder externe DLL’s.

Elk ETSI-formaat, B-B t/m B-LTA

Een signing-engine achter vier handtekeningfamilies. Kies het formaat dat je regulator of counter-party verwacht; het profiel doet de rest.

Een Delphi XAdES / PAdES digitale-handtekening-component heeft een taak: output produceren die de ontvangende portal daadwerkelijk accepteert. sgcSign dekt de vier ETSI-handtekeningfamilies: XAdES (EN 319 132, XML), PAdES (EN 319 142, PDF), CAdES (EN 319 122, CMS/PKCS#7) en ASiC-S / ASiC-E-containers (EN 319 162), op elk AdES-niveau van B-B (basis) via B-T (met timestamp) en B-LT (langetermijn, met ingebedde chain en revocation-data) tot B-LTA (langetermijn met archive-timestamps).

Sleutels komen van waar de jouwe zich ook bevinden: lokale PFX/PKCS#12- en PEM-bestanden, de Windows-certificaatopslag, PKCS#11-smartcards en HSM’s, of cloud-services (Azure Trusted Signing, AWS KMS, Google Cloud KMS, HashiCorp Vault, Certum SimplySign, CSC v2 remote QTSP’s). Elke provider implementeert dezelfde IsgcKeyProvider-interface, dus wisselen van een PFX-bestand naar een cloud-HSM is een wijziging van een enkel component.

XAdES

Enveloped-, enveloping- en detached-XML-handtekeningen: TsgcSignXML + TsgcSignProfile_XAdES

PAdES

PDF-handtekeningen met zichtbare weergave, compatibel met Adobe Acrobat: TsgcSignPDF + TsgcSignProfile_PAdES

CAdES & ASiC

CMS/PKCS#7-handtekeningen over elk bestand, plus ZIP-gebaseerde ASiC-S / ASiC-E-containers

Compilers

Delphi 7 t/m RAD Studio 13, C++Builder en .NET

Gebouwd voor EU-compliance-werk

De onderdelen die van een ruwe handtekening een document maken dat een overheidsinstantie accepteert.

RFC 3161-timestamps

Wijs TSA.URL naar een willekeurige timestamp authority en niveaus B-T en hoger bedden automatisch een signature-timestamp in.

Langetermijn-validatie

Voor B-LT / B-LTA halen OCSP.AutoFetch en CRL.AutoFetch de volledige chain en revocation-data op en bedden ze in, zodat het document jarenlang verifieert zonder netwerkaanroepen.

21 landenprofielen

VeriFactu, TicketBAI, Facturae, FatturaPA, KSeF, Factur-X / ZUGFeRD, e-Factura, SAF-T PT, Peppol en meer. Elk profiel stemt hash, canonicalisatie, niveau, timestamp en revocation-beleid vooraf af op de doelregulator.

Arbeidscontracten

Negen EU-arbeidscontract-profielen (Duitsland, Italië, Spanje, Frankrijk, Oostenrijk, België, Portugal, Nederland, Polen) zetten vooraf het AdES- / QES-niveau dat elke jurisdictie verwacht.

Verificatie & rapporten

TsgcSignatureVerifier valideert digests, chains, OCSP-revocation en timestamps, en geeft een gestructureerd rapport terug met het gedetecteerde niveau, de ondertekenaar en de status.

EU Trust List

TsgcEUTrustList parseert de live LOTL en de Trusted Lists per lidstaat, zodat je elk certificaat kunt classificeren als eIDAS-qualified tegen het officiële EU-register.

Zichtbare PDF-handtekeningen

Naam van de ondertekenaar, reden, locatie, contactinfo en een configureerbare handtekening-rechthoek op elke pagina, compatibel met Adobe Acrobat.

Native cryptografie

Windows CNG/BCrypt onder de motorkap. Geen OpenSSL-DLL om naast je executable uit te leveren.

Bibliotheek of server

Dezelfde engine wordt geleverd als in-process-componentbibliotheek en als sgcSign Server, een self-hosted REST-signing-daemon voor build-farms en CI-pipelines.

Onderteken een XML-factuur, daarna een PDF

Laad een key-provider, configureer een profiel, onderteken. Hetzelfde driestappenpatroon voor elk formaat.

uses
  sgcSign_KeyProvider_PFX, sgcSign_XML, sgcSign_Profile_XAdES;

var
  vKeyProvider: TsgcPFXKeyProvider;
  vProfile: TsgcSignProfile_XAdES;
  vSigner: TsgcSignXML;
  vXML, vSigned: string;
begin
  vXML := TFile.ReadAllText('invoice.xml', TEncoding.UTF8);

  vKeyProvider := TsgcPFXKeyProvider.Create(nil);
  vKeyProvider.FileName := 'certificate.pfx';
  vKeyProvider.Password := 'secret';
  vKeyProvider.LoadFromFile;

  vProfile := TsgcSignProfile_XAdES.Create(nil);
  vProfile.Level := xalT;            // or xalLT, xalLTA
  vProfile.Packaging := xpkEnveloped;
  vProfile.HashAlgorithm := shaSHA256;
  vProfile.TSA.URL := 'https://freetsa.org/tsr';

  vSigner := TsgcSignXML.Create(nil);
  try
    vSigner.KeyProvider := vKeyProvider;
    vSigner.Profile := vProfile;
    vSigned := vSigner.SignXML(vXML);
    TFile.WriteAllText('invoice-signed.xml', vSigned, TEncoding.UTF8);
  finally
    vSigner.Free;
  end;
end;
var
  vProfile: TsgcSignProfile_PAdES;
  vSigner: TsgcSignPDF;
begin
  vProfile := TsgcSignProfile_PAdES.Create(nil);
  vProfile.Level := palT;
  vProfile.HashAlgorithm := shaSHA256;
  vProfile.TSA.URL := 'http://timestamp.digicert.com';

  // Optional visible signature widget
  vProfile.SignatureField.Visible := True;
  vProfile.SignatureField.Page := 1;
  vProfile.SignatureField.Rect := Rect(50, 50, 250, 120);
  vProfile.SignatureField.Reason := 'Approved';
  vProfile.SignatureField.Location := 'Madrid';

  vSigner := TsgcSignPDF.Create(nil);
  try
    vSigner.KeyProvider := vKeyProvider;
    vSigner.Profile := vProfile;
    vSigner.SignFile('invoice.pdf', 'invoice-signed.pdf');
  finally
    vSigner.Free;
  end;
end;

Verifieer voordat je uitlevert

Elke signing-workflow zou moeten eindigen met een verificatiepas. TsgcSignatureVerifier neemt de ondertekende XML of PDF en geeft een rapport per handtekening terug: het daadwerkelijk bereikte AdES-niveau, de signer-subject, de timestamp en eventuele chain- of revocation-problemen. Als je om B-T vroeg en het rapport zegt B-B, dan is de timestamp-request mislukt en kom je daar op je eigen machine achter, niet in de foutenwachtrij van de regulator.

Voor eIDAS-kwalificatiechecks combineer je de verifier met het EU Trust List-component: sgcSign valideert handtekeningen op dezelfde manier als de EU ze valideert, tegen de live LOTL, en kan een gestandaardiseerd validatierapport produceren.

Ga verder met sgcSign

Tutorial: XAdES ondertekenen

Van een platte XML-factuur naar XAdES-B-T: packaging-modi, timestamps en verificatie, stap voor stap.

Tutorial: PDF ondertekenen

Dezelfde doorloop voor PAdES: profielen, zichtbare handtekeningen en incrementele updates.

Landenprofielen

De 21 voorgeconfigureerde EU-profielen voor e-facturatie en arbeidscontracten.

Key-providers

PFX, PEM, Windows-opslag, PKCS#11-tokens en de cloud-KMS-providers in detail.

sgcSign Server

Gecentraliseerd remote ondertekenen over REST. Klaar voor GitHub Actions, Azure DevOps, Docker en Helm.

Prijzen

Licenties voor de componentbibliotheek en de server, plus de All-Access-bundel.

Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

Onderteken vandaag nog je eerste document

Download de proefversie, draai de XAdES-tutorial tegen je eigen factuur en verifieer het resultaat end-to-end.