Firme digitali XAdES e PAdES in Delphi | sgcSign | eSeGeCe

Firme digitali XAdES & PAdES in Delphi

sgcSign produce firme digitali di livello eIDAS da codice Delphi, C++Builder e .NET: XAdES per XML, PAdES per PDF, CAdES per qualunque contenuto binario e contenitori ASiC per raggruppare i documenti con le loro firme. Tutti e quattro i livelli AdES, 10 key provider e 21 profili paese UE preconfigurati, con crittografia nativa CNG/BCrypt e nessuna DLL esterna.

Ogni formato ETSI, da B-B a B-LTA

Un solo engine di firma dietro quattro famiglie di firme. Scegli il formato che il tuo ente regolatore o la tua controparte si aspetta; al resto pensa il profilo.

Un componente Delphi per firme digitali XAdES / PAdES ha un solo compito: produrre un output che il portale ricevente accetti davvero. sgcSign copre le quattro famiglie di firma ETSI: XAdES (EN 319 132, XML), PAdES (EN 319 142, PDF), CAdES (EN 319 122, CMS/PKCS#7) e i contenitori ASiC-S / ASiC-E (EN 319 162), a ogni livello AdES da B-B (base) passando per B-T (con timestamp) e B-LT (a lungo termine, con catena e dati di revoca integrati) fino a B-LTA (a lungo termine con timestamp di archivio).

Le chiavi arrivano da ovunque vivano le tue: file PFX/PKCS#12 e PEM locali, il Windows certificate store, smart card e HSM PKCS#11, o servizi cloud (Azure Trusted Signing, AWS KMS, Google Cloud KMS, HashiCorp Vault, Certum SimplySign, QTSP remoti CSC v2). Ogni provider implementa la stessa interfaccia IsgcKeyProvider, quindi passare da un file PFX a un HSM cloud è un cambio di un solo componente.

XAdES

Firme XML enveloped, enveloping e detached: TsgcSignXML + TsgcSignProfile_XAdES

PAdES

Firme PDF con aspetto visibile, compatibili con Adobe Acrobat: TsgcSignPDF + TsgcSignProfile_PAdES

CAdES & ASiC

Firme CMS/PKCS#7 su qualunque file, più contenitori ASiC-S / ASiC-E basati su ZIP

Compilatori

Da Delphi 7 a RAD Studio 13, C++Builder e .NET

Costruito per la compliance UE

I pezzi che trasformano una firma grezza in un documento che una pubblica amministrazione accetta.

Timestamp RFC 3161

Punta TSA.URL a qualunque timestamp authority e i livelli B-T e superiori integrano automaticamente un timestamp di firma.

Validazione a lungo termine

Per B-LT / B-LTA, OCSP.AutoFetch e CRL.AutoFetch recuperano e integrano la catena completa e i dati di revoca, così il documento si verifica per anni senza chiamate di rete.

21 profili paese

VeriFactu, TicketBAI, Facturae, FatturaPA, KSeF, Factur-X / ZUGFeRD, e-Factura, SAF-T PT, Peppol e altri. Ogni profilo pre-configura hash, canonicalizzazione, livello, timestamp e politica di revoca per l'ente regolatore di destinazione.

Contratti di lavoro

Nove profili UE per contratti di lavoro (Germania, Italia, Spagna, Francia, Austria, Belgio, Portogallo, Paesi Bassi, Polonia) preimpostano il livello AdES / QES che ogni giurisdizione si aspetta.

Verifica & report

TsgcSignatureVerifier valida digest, catene, revoca OCSP e timestamp, e restituisce un report strutturato con il livello rilevato, il firmatario e lo stato.

EU Trust List

TsgcEUTrustList interpreta la LOTL live e le Trusted List dei singoli Stati membri, così puoi classificare qualunque certificato come qualificato eIDAS rispetto al registro UE ufficiale.

Firme PDF visibili

Nome del firmatario, motivo, luogo, informazioni di contatto e un rettangolo di firma configurabile su qualunque pagina, compatibile con Adobe Acrobat.

Crittografia nativa

Windows CNG/BCrypt sotto il cofano. Nessuna DLL OpenSSL da distribuire accanto al tuo eseguibile.

Libreria o server

Lo stesso engine è disponibile come libreria di componenti in-process e come sgcSign Server, un daemon REST di firma self-hosted per build farm e pipeline CI.

Firma una fattura XML, poi un PDF

Carica un key provider, configura un profilo, firma. Lo stesso pattern in tre passi per ogni formato.

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;

Verifica prima di andare in produzione

Ogni workflow di firma dovrebbe terminare con un passaggio di verifica. TsgcSignatureVerifier prende l'XML o il PDF firmato e restituisce un report per ogni firma: il livello AdES effettivamente raggiunto, il subject del firmatario, il timestamp ed eventuali problemi di catena o revoca. Se hai chiesto B-T e il report dice B-B, la richiesta di timestamp è fallita e lo scopri sulla tua macchina, non nella coda di errori dell'ente regolatore.

Per i controlli di qualificazione eIDAS, combina il verificatore con il componente EU Trust List: sgcSign valida le firme nello stesso modo in cui le valida l'UE, contro la LOTL live, e può produrre un report di validazione standardizzato.

Continua con sgcSign

Tutorial: firma XAdES

Da una semplice fattura XML a XAdES-B-T: modalità di packaging, timestamp e verifica, passo dopo passo.

Tutorial: firma PDF

La stessa guida per PAdES: profili, firme visibili e aggiornamenti incrementali.

Profili paese

I 21 profili UE preconfigurati per fatturazione elettronica e contratti di lavoro.

Key provider

PFX, PEM, Windows store, token PKCS#11 e i provider KMS cloud nel dettaglio.

sgcSign Server

Firma remota centralizzata via REST. Pronto per GitHub Actions, Azure DevOps, Docker e Helm.

Prezzi

Licenze per la libreria di componenti e per il server, più il bundle All-Access.

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

Firma il tuo primo documento oggi stesso

Scarica la trial, esegui il tutorial XAdES sulla tua fattura e verifica il risultato end-to-end.