Riferimento funzionalità di sgcSign

Catalogo completo delle funzionalità della suite di firma digitale sgcSign — standard di firma, provider di chiavi, profili per paese, convalida, integrazione con la Trust List UE e report di validazione ETSI per Delphi 7 fino a Delphi 13, C++Builder e .NET.

Tre livelli, un unico motore

sgcSign separa la gestione delle chiavi, le operazioni di firma e i formati di output. Combina qualsiasi provider di chiavi con qualsiasi signer; passa da PFX locale a KMS cloud cambiando un solo componente.

Provider di chiavi (IsgcKeyProvider)

Astrae l'accesso ai certificati e alle chiavi private dietro un'unica interfaccia. File locali, archivio certificati Windows, token hardware PKCS#11, KMS Azure / AWS / Google Cloud, HashiCorp Vault, Certum SimplySign e QTSP remoti CSC v2.

Signer

Signer specializzati per ogni formato ETSI: TsgcXAdESSigner, TsgcPAdESSigner, TsgcCAdESSigner, TsgcAuthenticodeSigner. Più TsgcDocumentSigner — un'API unificata di alto livello che seleziona e configura il signer corretto a partire da un profilo per paese.

Componenti di supporto

TsgcTSAClient (timestamp RFC 3161), TsgcOCSPClient (revoca), TsgcSignatureVerifier (convalida), TsgcEUTrustList (LOTL/EUTL), TsgcASiCContainer (packaging ZIP ASiC-S/ASiC-E).

XAdES, PAdES, CAdES, ASiC e Authenticode

Copertura completa dei formati di firma ETSI a tutti e quattro i livelli AdES (B-B, B-T, B-LT, B-LTA), più Microsoft Authenticode per la firma del codice.

XAdES — ETSI EN 319 132

XML Advanced Electronic Signatures. Modalità enveloped, detached ed enveloping. Livelli B-B / B-T / B-LT / B-LTA. SignatureParentElement per formati envelope che fissano il posizionamento della firma (KSeF /v2/auth/xades-signature). Caratteri diacritici polacchi, spagnoli e tedeschi tramite overload WideString a partire da Delphi 7.

PAdES — ETSI EN 319 142

PDF Advanced Electronic Signatures. Firme incorporate all'interno del PDF; aspetto della firma visibile con nome del firmatario, motivo, luogo, informazioni di contatto e rettangolo configurabile. Compatibile con Adobe Acrobat. Livelli PAdES-T, -LT tramite TSA + OCSP.

CAdES — ETSI EN 319 122

Firme binarie CMS/PKCS#7 su qualsiasi file o flusso di dati. Forme detached e attached. CAdES-BES, CAdES-T (con timestamp), CAdES-XL (a lungo termine con valori di revoca).

ASiC-S / ASiC-E — ETSI EN 319 162

Associated Signature Containers. Archivio in formato ZIP che raggruppa uno o più documenti con una firma XAdES o CAdES. Simple (apASiCS, documento singolo) o Extended (apASiCE, manifest + più documenti). La prima voce ZIP è un marcatore mimetype non compresso, così i verificatori rilevano il container nei primi 50 byte circa.

Authenticode — firma del codice

Microsoft Authenticode per file Windows PE (.exe, .dll, .sys, .ocx, .cpl, .scr). Algoritmi di hash SHA-1, SHA-256 (predefinito), SHA-384 e SHA-512. Token di timestamp RFC 3161. Firme nidificate (doppie) per la compatibilità con verificatori legacy e moderni. Disponibile nel server sgcSign.

Livelli AdES — B-B / B-T / B-LT / B-LTA

Tutti e quattro i livelli di conformità ETSI supportati per ciascun formato: B-B (di base), B-T (timestamp), B-LT (a lungo termine, con valori di revoca), B-LTA (archiviazione, con timestamp d'archivio). Promuovi una firma da B-B a B-LT aggiungendo un client TSA e un responder OCSP.

Locali, hardware, cloud e QTSP remoti

Ogni provider implementa IsgcKeyProvider. Passa tra queste sorgenti di chiavi senza cambiare il codice di firma.

Componente Tipo Caso d'uso
TsgcPFXKeyProvider File locale (PKCS#12) File PFX/.p12 protetti da password. Supporto nativo Windows CNG.
TsgcPEMKeyProvider File locale (PEM) Certificati PEM con chiavi PKCS#8 cifrate. Decifratura nativa PBES2 / PBKDF2 / AES-CBC — non richiede DLL OpenSSL.
TsgcWindowsCertStoreProvider Archivio Windows Archivi della macchina locale e dell'utente corrente. Integrazione con Active Directory e Group Policy.
TsgcPKCS11Provider Token hardware Smart card e HSM tramite driver PKCS#11 — SafeNet, YubiKey, Nitrokey, Thales, Utimaco, ecc.
TsgcAzureTrustedSigningProvider Cloud (Microsoft) Azure Trusted Signing — il servizio di firma qualificata di Microsoft. Credenziali OAuth2 client. Distinto da Azure Key Vault.
TsgcAWSKMSKeyProvider Cloud (AWS) AWS Key Management Service. Le chiavi restano in AWS; solo gli hash dei documenti lasciano la rete.
TsgcGCloudKMSKeyProvider Cloud (Google) Google Cloud Key Management. Autenticazione tramite service account.
TsgcHashiCorpVaultKeyProvider Cloud (self-hosted) Motore di firma transit di HashiCorp Vault. Le chiavi non lasciano mai il cluster Vault.
TsgcCertumSimplySignProvider QTSP remoto Certum SimplySign — provider qualificato di firma elettronica polacco. Compatibile con KSeF, ZUS, PUE.
TsgcCSCKeyProvider QTSP remoto (CSC v2) Client generico Cloud Signature Consortium v2 — Universign, D-Trust sign-me, A-Trust, FNMT Cl@ve Firma, Evrotrust, Intesi Group e qualsiasi QTSP che espone l'API CSC v2.

Fatturazione elettronica europea e firma dei contratti di lavoro

Ogni profilo pre-configura algoritmo di hash, canonicalizzazione, livello di firma, policy di timestamp RFC 3161 e aspettative di revoca OCSP per soddisfare il regolatore del paese target. Cambia giurisdizione con una sola riga.

Profili di fatturazione elettronica (12)

Profilo Paese Sistema Formato Livello
spVeriFactuSpagnaVeriFactu (AEAT)XAdES-EPESB-B
spTicketBAISpagna (Paesi Baschi)TicketBAIXAdES-EPESB-B
spFacturaeB2BSpagnaFacturae 3.x / FACeXAdES-EPESB-T
spFatturaPAItaliaFatturaPA (SDI)XAdES-BESB-B
spSAFTPTPortogalloSAF-T PTRSA-SHA256B-B
spKSeFPoloniaKSeF (Krajowy System e-Faktur)XAdESB-T
spFacturXFrancia / GermaniaFactur-X / ZUGFeRDXAdESB-B
spEFacturaRomaniae-Factura (ANAF)XAdESB-T
spNAVOnlineUngheriaNAV OnlineXML-DSigB-B
spFiskalizacijaCroaziaFiskalizacijaXML-DSigB-B
spPeppolBEBelgioPeppol UBL 2.0XAdESB-T
spPeppolBGBulgariaPeppol UBL 2.1XAdESB-T
spMyDATAGreciamyDATA (AADE)XAdESB-B

Profili per contratti di lavoro UE (9)

Firme conformi a eIDAS per i requisiti di diritto del lavoro degli Stati membri (ad es. § 126a BGB in Germania, FEQ in Italia). Preconfigurati per giurisdizione; caricati in TsgcXAdESSigner tramite Profile.LoadProfile(spEmploymentXX).

Profilo Paese Livello Hash Timestamp OCSP Note
spEmploymentDEGermaniaB-LTSHA-256QES richiesta dal § 126a BGB per contratti in forma scritta.
spEmploymentITItaliaB-LTSHA-256Firma qualificata FEQ; i portali INPS accettano sia XAdES sia CAdES.
spEmploymentESSpagnaB-TSHA-256NoAdES sufficiente. I portali SEPE / TGSS richiedono FNMT o DNIe.
spEmploymentFRFranciaB-TSHA-256NoAdES sufficiente; QES preferita per la firma remota ai sensi di DSP2 / RGS.
spEmploymentATAustriaB-LTSHA-256QES tramite Handy-Signatur / ID Austria comune.
spEmploymentBEBelgioB-LTSHA-256QES tramite carta eID (BeID).
spEmploymentPTPortogalloB-LTSHA-256QES tramite Cartão do Cidadão / Chave Móvel Digital.
spEmploymentNLPaesi BassiB-TSHA-256NoAdES generalmente accettato; QES per alcuni portali HR (UWV).
spEmploymentPLPoloniaB-TSHA-256NoQES tramite Profil Zaufany o certificato qualificato quando il contratto va a ZUS / PUE.

Verifica come fa l'UE

Pipeline di convalida completa più integrazione con la Trust List UE e il report di validazione XML standardizzato ETSI TS 119 102-2 — prova legale della validità della firma accettata dai tribunali del lavoro UE e dai verificatori della pubblica amministrazione.

Verifica delle firme con LTV

TsgcSignatureVerifier copre l'intera pipeline: controlli sui digest, verifica delle firme RSA / ECDSA, validazione della catena dei certificati, controllo della revoca OCSP, RevocationValues incorporati per Long-Term Validation e lookup di frammenti basato su Id per SignedProperties.

Trust List UE (LOTL / EUTL)

TsgcEUTrustList analizza la List of Trusted Lists ETSI TS 119 612 e circa 31 Trusted List per Stato membro. Classifica qualsiasi certificato X.509 come qualificato eIDAS confrontandolo con il registro UE aggiornato. Caching in modalità offline per deployment air-gapped.

Report di validazione ETSI TS 119 102-2

Report di validazione XML standardizzato (v1.2.1) prodotto per ogni verifica — il formato accettato dai tribunali del lavoro UE e dai verificatori della pubblica amministrazione come prova legale della validità della firma.

Timestamping RFC 3161

TsgcTSAClient si connette a qualsiasi autorità di marcatura temporale RFC 3161. Promuove le firme da B-B a B-T, B-LT e B-LTA — verificabili molto tempo dopo la scadenza del certificato di firma.

Revoca OCSP

TsgcOCSPClient esegue controlli RFC 6960 Online Certificate Status Protocol. Revoca in tempo reale, con la risposta OCSP incorporata nelle firme B-LT in modo che il documento rimanga verificabile anche quando il responder è successivamente offline.

Canonicalizzazione XML (C14N)

Inclusive C14N (xml-c14n11) ed Exclusive C14N (xml-exc-c14n) per un'elaborazione coerente delle firme XML. Ogni profilo per paese seleziona la canonicalizzazione attesa dal suo regolatore.

Nativo, autonomo, cross-versione

Zero DLL esterne

Crittografia Windows CNG / BCrypt in tutto — non richiede DLL OpenSSL. PBES2 / PBKDF2 / AES-CBC nativi per PEM PKCS#8 cifrati. WinHTTP per le operazioni di rete.

Da Delphi 7 a Delphi 13

Supporta ogni compilatore Delphi da Delphi 7 a RAD Studio 13, oltre a C++Builder. Le unit moderne sono protette per la compatibilità legacy (ad es. TsgcASiCContainer richiede i generics di D2010+; compila come unit vuota su D7 senza problemi).

Implementazione .NET

Porting C# parallelo per .NET Framework 2.0–4.8, .NET Core, .NET 5–9 e .NET Standard. Stessi nomi di classe Tsgc*; stessa superficie API della libreria Delphi.

Codice sorgente completo

Codice sorgente completo incluso con ogni licenza. Ispeziona, personalizza, controlla ed estendi. Nomi di classe dei componenti registrati per l'integrazione design-time nell'IDE.

Timestamp UTC ovunque

Tutti i timestamp X.509 / CRL / OCSP / TSA sono memorizzati come valori TDateTime UTC, in linea con RFC 5280, RFC 3161 e RFC 6960. Conversione in ora locale tramite le proprietà *Local su ciascun componente.

Zero royalty runtime

Ridistribuzione binaria gratuita. Firma quanti documenti vuoi senza costi per documento e senza licenze per deployment.

Stessa API, tre sorgenti di chiavi diverse

Firma una fattura VeriFactu con un PFX locale

  • Singolo componente di alto livello (TsgcDocumentSigner)
  • Il profilo sceglie XAdES-EPES, B-B, SHA-256, C14N esclusiva
  • Passa a spFatturaPA per l'Italia, spKSeF per la Polonia
SignVeriFactu.pas
// Firma una fattura VeriFactu spagnola
var
  vKeyProvider: TsgcPFXKeyProvider;
  vSigner: TsgcDocumentSigner;
begin
  vKeyProvider := TsgcPFXKeyProvider.Create(nil);
  try
    vKeyProvider.FileName := 'certificate.pfx';
    vKeyProvider.Password := 'secret';
    vKeyProvider.LoadFromFile;

    vSigner := TsgcDocumentSigner.Create(nil);
    try
      vSigner.KeyProvider := vKeyProvider;
      vSigner.Profile := spVeriFactu;
      memoSigned.Text := vSigner.SignXML(memoXML.Text);
    finally
      vSigner.Free;
    end;
  finally
    vKeyProvider.Free;
  end;
end;

Firma Authenticode di un EXE con Azure Trusted Signing

  • Chiave cloud, nessun PFX locale o token USB
  • Autenticazione tramite credenziali OAuth2 client
  • Certificato public-trust emesso da Microsoft
SignWithAzure.pas
// Firma Authenticode con Azure Trusted Signing
var
  vKeyProvider: TsgcAzureTrustedSigningProvider;
  vSigner: TsgcAuthenticodeSigner;
begin
  vKeyProvider := TsgcAzureTrustedSigningProvider.Create(nil);
  vSigner := TsgcAuthenticodeSigner.Create(nil);
  try
    vKeyProvider.AccountName := 'my-trusted-signing-account';
    vKeyProvider.CertificateProfileName := 'public-trust';
    vKeyProvider.Endpoint := 'https://eus.codesigning.azure.net';

    vSigner.KeyProvider := vKeyProvider;
    vSigner.SignFile('myapp.exe', 'myapp-signed.exe');
  finally
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

PAdES-T — PDF con firma visibile e timestamp

  • Certificato dall'archivio Windows tramite Subject Name
  • Timestamp RFC 3161 incorporato nella firma
  • Aspetto visibile con motivo e luogo
SignPDFVisible.pas
// PAdES-T con aspetto di firma visibile
var
  vKeyProvider: TsgcWindowsCertStoreProvider;
  vSigner: TsgcPAdESSigner;
  vTSA: TsgcTSAClient;
begin
  vKeyProvider := TsgcWindowsCertStoreProvider.Create(nil);
  vSigner := TsgcPAdESSigner.Create(nil);
  vTSA := TsgcTSAClient.Create(nil);
  try
    vKeyProvider.SubjectName := 'CN=Acme Corp';
    vKeyProvider.LoadFromStore;

    vTSA.URL := 'https://freetsa.org/tsr';

    vSigner.KeyProvider := vKeyProvider;
    vSigner.TSAClient := vTSA;
    vSigner.Reason := 'Approvato';
    vSigner.Location := 'Madrid, Spagna';
    vSigner.VisibleSignature.Enabled := True;
    vSigner.SignPDF('contract.pdf', 'contract-signed.pdf');
  finally
    vTSA.Free;
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

Distribuisci oggi firme conformi a eIDAS

Aggiungi la firma XAdES, PAdES, CAdES e ASiC alle tue applicazioni Delphi, C++Builder o .NET.