Référence des fonctionnalités sgcSign

Catalogue complet des fonctionnalités de la suite de signature numérique sgcSign — normes de signature, fournisseurs de clés, profils par pays, validation, intégration EU Trust List et rapports de validation ETSI pour Delphi 7 jusqu'à Delphi 13, C++Builder et .NET.

Trois couches, un seul moteur

sgcSign sépare la gestion des clés, les opérations de signature et les formats de sortie. Mélange n'importe quel fournisseur de clés avec n'importe quel signataire ; bascule entre PFX local et KMS cloud en changeant un seul composant.

Fournisseurs de clés (IsgcKeyProvider)

Abstrait l'accès aux certificats et aux clés privées derrière une interface unique. Fichiers locaux, magasin de certificats Windows, tokens matériels PKCS#11, Azure / AWS / Google Cloud KMS, HashiCorp Vault, Certum SimplySign et QTSP distants CSC v2.

Signataires

Signataires spécialisés pour chaque format ETSI : TsgcXAdESSigner, TsgcPAdESSigner, TsgcCAdESSigner, TsgcAuthenticodeSigner. Plus TsgcDocumentSigner — une API de haut niveau unifiée qui sélectionne et configure le bon signataire à partir d'un profil par pays.

Composants de support

TsgcTSAClient (horodatages RFC 3161), TsgcOCSPClient (révocation), TsgcSignatureVerifier (validation), TsgcEUTrustList (LOTL/EUTL), TsgcASiCContainer (empaquetage ZIP ASiC-S/ASiC-E).

XAdES, PAdES, CAdES, ASiC et Authenticode

Couverture complète des formats de signature ETSI aux quatre niveaux AdES (B-B, B-T, B-LT, B-LTA), plus Microsoft Authenticode pour la signature de code.

XAdES — ETSI EN 319 132

XML Advanced Electronic Signatures. Modes enveloped, detached et enveloping. Niveaux B-B / B-T / B-LT / B-LTA. SignatureParentElement pour les formats d'enveloppe qui fixent l'emplacement de la signature (KSeF /v2/auth/xades-signature). Diacritiques polonais, espagnols et allemands via les surcharges WideString sur Delphi 7+.

PAdES — ETSI EN 319 142

PDF Advanced Electronic Signatures. Signatures intégrées dans le PDF ; apparence visible de signature avec nom du signataire, motif, lieu, coordonnées de contact et rectangle configurable. Compatible avec Adobe Acrobat. Niveaux PAdES-T, -LT via TSA + OCSP.

CAdES — ETSI EN 319 122

Signatures binaires CMS/PKCS#7 sur tout fichier ou flux de données. Formes detached et attached. CAdES-BES, CAdES-T (horodaté), CAdES-XL (long terme avec valeurs de révocation).

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

Associated Signature Containers. Archive au format ZIP qui regroupe un ou plusieurs documents avec une signature XAdES ou CAdES. Simple (apASiCS, document unique) ou Étendu (apASiCE, manifeste + plusieurs documents). La première entrée ZIP est un marqueur mimetype non compressé pour que les vérificateurs détectent le conteneur dans les ~50 premiers octets.

Authenticode — Signature de code

Microsoft Authenticode pour les fichiers Windows PE (.exe, .dll, .sys, .ocx, .cpl, .scr). Algorithmes de hachage SHA-1, SHA-256 (par défaut), SHA-384 et SHA-512. Jetons d'horodatage RFC 3161. Signatures imbriquées (doubles) pour la compatibilité avec les vérificateurs hérités + modernes. Disponible dans sgcSign Server.

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

Les quatre niveaux de conformité ETSI pris en charge par format : B-B (basique), B-T (horodatage), B-LT (long terme, avec valeurs de révocation), B-LTA (archivage, avec horodatage d'archive). Promeut une signature de B-B à B-LT en ajoutant un client TSA et un répondeur OCSP.

Local, matériel, cloud et QTSP distants

Chaque fournisseur implémente IsgcKeyProvider. Bascule entre n'importe laquelle de ces sources de clés sans modifier ton code de signature.

Composant Type Cas d'usage
TsgcPFXKeyProvider Fichier local (PKCS#12) Fichiers PFX/.p12 protégés par mot de passe. Prise en charge native Windows CNG.
TsgcPEMKeyProvider Fichier local (PEM) Certificats PEM avec clés PKCS#8 chiffrées. Déchiffrement natif PBES2 / PBKDF2 / AES-CBC — aucune DLL OpenSSL requise.
TsgcWindowsCertStoreProvider Magasin Windows Magasins local-machine et current-user. Intégration Active Directory et Group Policy.
TsgcPKCS11Provider Token matériel Cartes à puce et HSM via pilote PKCS#11 — SafeNet, YubiKey, Nitrokey, Thales, Utimaco, etc.
TsgcAzureTrustedSigningProvider Cloud (Microsoft) Azure Trusted Signing — le service de signature qualifié de Microsoft. Client credentials OAuth2. Distinct d'Azure Key Vault.
TsgcAWSKMSKeyProvider Cloud (AWS) AWS Key Management Service. Les clés restent dans AWS ; seuls les hachages de documents quittent le réseau.
TsgcGCloudKMSKeyProvider Cloud (Google) Google Cloud Key Management. Authentification par compte de service.
TsgcHashiCorpVaultKeyProvider Cloud (auto-hébergé) Moteur de signature transit HashiCorp Vault. Les clés ne quittent jamais le cluster Vault.
TsgcCertumSimplySignProvider QTSP distant Certum SimplySign — prestataire qualifié de signature électronique polonais. Compatible KSeF, ZUS, PUE.
TsgcCSCKeyProvider QTSP distant (CSC v2) Client générique Cloud Signature Consortium v2 — Universign, D-Trust sign-me, A-Trust, FNMT Cl@ve Firma, Evrotrust, Intesi Group et tout QTSP qui expose l'API CSC v2.

Facturation électronique européenne et signature de contrats de travail

Chaque profil pré-règle l'algorithme de hachage, la canonicalisation, le niveau de signature, la politique d'horodatage RFC 3161 et les attentes de révocation OCSP pour satisfaire le régulateur du pays cible. Bascule de juridiction en une ligne.

Profils de facturation électronique (12)

Profil Pays Système Format Niveau
spVeriFactuEspagneVeriFactu (AEAT)XAdES-EPESB-B
spTicketBAIEspagne (Pays basque)TicketBAIXAdES-EPESB-B
spFacturaeB2BEspagneFacturae 3.x / FACeXAdES-EPESB-T
spFatturaPAItalieFatturaPA (SDI)XAdES-BESB-B
spSAFTPTPortugalSAF-T PTRSA-SHA256B-B
spKSeFPologneKSeF (Krajowy System e-Faktur)XAdESB-T
spFacturXFrance / AllemagneFactur-X / ZUGFeRDXAdESB-B
spEFacturaRoumaniee-Factura (ANAF)XAdESB-T
spNAVOnlineHongrieNAV OnlineXML-DSigB-B
spFiskalizacijaCroatieFiskalizacijaXML-DSigB-B
spPeppolBEBelgiquePeppol UBL 2.0XAdESB-T
spPeppolBGBulgariePeppol UBL 2.1XAdESB-T
spMyDATAGrècemyDATA (AADE)XAdESB-B

Profils de contrats de travail UE (9)

Signatures conformes eIDAS pour les exigences de droit du travail des États membres (par exemple § 126a BGB en Allemagne, FEQ en Italie). Pré-réglées par juridiction ; chargées dans TsgcXAdESSigner via Profile.LoadProfile(spEmploymentXX).

Profil Pays Niveau Hachage Horodatage OCSP Notes
spEmploymentDEAllemagneB-LTSHA-256OuiOuiQES requise par le § 126a BGB pour les contrats sous forme écrite.
spEmploymentITItalieB-LTSHA-256OuiOuiSignature qualifiée FEQ ; les portails INPS consomment XAdES et CAdES.
spEmploymentESEspagneB-TSHA-256OuiNonAdES suffit. Les portails SEPE / TGSS exigent FNMT ou DNIe.
spEmploymentFRFranceB-TSHA-256OuiNonAdES OK ; QES préférée pour la signature à distance sous DSP2 / RGS.
spEmploymentATAutricheB-LTSHA-256OuiOuiQES via Handy-Signatur / ID Austria courante.
spEmploymentBEBelgiqueB-LTSHA-256OuiOuiQES via carte eID (BeID).
spEmploymentPTPortugalB-LTSHA-256OuiOuiQES via Cartão do Cidadão / Chave Móvel Digital.
spEmploymentNLPays-BasB-TSHA-256OuiNonAdES généralement accepté ; QES pour certains portails RH (UWV).
spEmploymentPLPologneB-TSHA-256OuiNonQES via Profil Zaufany ou certificat qualifié quand le contrat est transmis à ZUS / PUE.

Vérifie comme l'UE vérifie

Pipeline complet de validation plus intégration EU Trust List et rapport de validation XML ETSI TS 119 102-2 normalisé — preuve juridique de la validité de la signature acceptée par les tribunaux du travail de l'UE et les vérificateurs des administrations publiques.

Vérification de signature avec LTV

TsgcSignatureVerifier couvre tout le pipeline : vérifications de digest, vérification de signature RSA / ECDSA, validation de chaîne de certificats, vérification de révocation OCSP, RevocationValues intégrées pour la validation à long terme, et recherche de fragment par Id pour SignedProperties.

EU Trust List (LOTL / EUTL)

TsgcEUTrustList analyse la List of Trusted Lists ETSI TS 119 612 et les ~31 Trusted Lists par État membre. Classe tout certificat X.509 comme eIDAS-qualifié en le confrontant au registre UE en direct. Mise en cache en mode hors ligne pour les déploiements en environnement isolé.

Rapport de validation ETSI TS 119 102-2

Rapport de validation XML normalisé (v1.2.1) produit pour chaque vérification — le format accepté par les tribunaux du travail de l'UE et les vérificateurs des administrations publiques comme preuve juridique de la validité de la signature.

Horodatage RFC 3161

TsgcTSAClient se connecte à toute autorité d'horodatage RFC 3161. Promeut les signatures de B-B à B-T, B-LT et B-LTA — vérifiables longtemps après l'expiration du certificat de signature.

Révocation OCSP

TsgcOCSPClient effectue des vérifications Online Certificate Status Protocol RFC 6960. Révocation en temps réel, avec la réponse OCSP intégrée dans les signatures B-LT pour que le document reste vérifiable lorsque le répondeur est ultérieurement hors ligne.

Canonicalisation XML (C14N)

C14N inclusive (xml-c14n11) et C14N exclusive (xml-exc-c14n) pour un traitement cohérent des signatures XML. Chaque profil par pays sélectionne la canonicalisation attendue par son régulateur.

Native, autonome, multi-versions

Aucune DLL externe

Cryptographie Windows CNG / BCrypt partout — aucune DLL OpenSSL requise. PBES2 / PBKDF2 / AES-CBC natifs pour les PKCS#8 PEM chiffrés. WinHTTP pour les opérations réseau.

Delphi 7 jusqu'à Delphi 13

Prend en charge tout compilateur Delphi de Delphi 7 à RAD Studio 13, plus C++Builder. Unités modernes protégées pour la compatibilité héritée (par exemple TsgcASiCContainer requiert les generics D2010+ ; se compile élégamment en unité vide sur D7).

Implémentation .NET

Portage miroir C# pour .NET Framework 2.0–4.8, .NET Core, .NET 5–9 et .NET Standard. Mêmes noms de classe Tsgc* ; même surface d'API que la bibliothèque Delphi.

Code source complet

Source complète incluse avec chaque licence. Inspecte, personnalise, audite et étends. Noms de classe de composant enregistrés pour l'intégration IDE design-time.

Horodatages UTC partout

Tous les horodatages X.509 / CRL / OCSP / TSA stockés comme valeurs TDateTime UTC, conformes aux RFC 5280, RFC 3161 et RFC 6960. Conversion en heure locale via les propriétés *Local sur chaque composant.

Aucune redevance à l'exécution

Redistribution binaire gratuite. Signe autant de documents que tu veux sans frais par document ni licence par déploiement.

Même API, trois sources de clés différentes

Signer une facture VeriFactu avec un PFX local

  • Composant unique de haut niveau (TsgcDocumentSigner)
  • Le profil choisit XAdES-EPES, B-B, SHA-256, C14N exclusive
  • Bascule vers spFatturaPA pour l'Italie, spKSeF pour la Pologne
SignVeriFactu.pas
// Signe une facture VeriFactu espagnole
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;

Signer Authenticode un EXE avec Azure Trusted Signing

  • Clé cloud, ni PFX local ni token USB
  • Authentification OAuth2 client credentials
  • Certificat de confiance publique émis par Microsoft
SignWithAzure.pas
// Signature Authenticode avec 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 avec signature visible et horodatage

  • Certificat du magasin Windows par Subject Name
  • Horodatage RFC 3161 intégré dans la signature
  • Apparence visible avec motif et lieu
SignPDFVisible.pas
// PAdES-T avec apparence de signature visible
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 := 'Approved';
    vSigner.Location := 'Madrid, Spain';
    vSigner.VisibleSignature.Enabled := True;
    vSigner.SignPDF('contract.pdf', 'contract-signed.pdf');
  finally
    vTSA.Free;
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

Livre dès aujourd'hui des signatures conformes eIDAS

Ajoute la signature XAdES, PAdES, CAdES et ASiC à ton application Delphi, C++Builder ou .NET.