Signatures numériques XAdES & PAdES Delphi | sgcSign | eSeGeCe

Signatures numériques XAdES & PAdES en Delphi

sgcSign produit des signatures numériques de niveau eIDAS depuis du code Delphi, C++Builder et .NET : XAdES pour XML, PAdES pour PDF, CAdES pour tout contenu binaire et des conteneurs ASiC pour regrouper les documents avec leurs signatures. Les quatre niveaux AdES, 10 fournisseurs de clés et 21 profils pays UE pré-configurés, avec cryptographie native CNG/BCrypt et sans DLL externe.

Chaque format ETSI, de B-B à B-LTA

Un seul moteur de signature derrière quatre familles de signatures. Choisissez le format que votre régulateur ou votre contrepartie attend ; le profil fait le reste.

Un composant de signature numérique XAdES / PAdES Delphi n'a qu'un seul travail : produire une sortie que le portail destinataire accepte réellement. sgcSign couvre les quatre familles de signatures ETSI : XAdES (EN 319 132, XML), PAdES (EN 319 142, PDF), CAdES (EN 319 122, CMS/PKCS#7) et les conteneurs ASiC-S / ASiC-E (EN 319 162), à chaque niveau AdES de B-B (basique) à B-T (horodaté) et B-LT (long terme, avec chaîne et données de révocation embarquées) jusqu'à B-LTA (long terme avec horodatages d'archive).

Les clés viennent de là où vivent les vôtres : fichiers PFX/PKCS#12 et PEM locaux, magasin de certificats Windows, cartes à puce et HSM PKCS#11, ou services cloud (Azure Trusted Signing, AWS KMS, Google Cloud KMS, HashiCorp Vault, Certum SimplySign, QTSP distants CSC v2). Chaque fournisseur implémente la même interface IsgcKeyProvider, passer d'un fichier PFX à un HSM cloud est donc un changement d'un seul composant.

XAdES

Signatures XML enveloped, enveloping et detached : TsgcSignXML + TsgcSignProfile_XAdES

PAdES

Signatures PDF avec apparence visible, compatibles Adobe Acrobat : TsgcSignPDF + TsgcSignProfile_PAdES

CAdES & ASiC

Signatures CMS/PKCS#7 sur tout fichier, plus conteneurs ASiC-S / ASiC-E basés sur ZIP

Compilateurs

De Delphi 7 à RAD Studio 13, C++Builder et .NET

Conçu pour la conformité européenne

Les pièces qui transforment une signature brute en un document qu'une administration publique accepte.

Horodatages RFC 3161

Pointez TSA.URL vers n'importe quelle autorité d'horodatage et les niveaux B-T et supérieurs embarquent automatiquement un horodatage de signature.

Validation long terme

Pour B-LT / B-LTA, OCSP.AutoFetch et CRL.AutoFetch récupèrent et embarquent la chaîne complète et les données de révocation, le document se vérifie donc pendant des années sans appels réseau.

21 profils pays

VeriFactu, TicketBAI, Facturae, FatturaPA, KSeF, Factur-X / ZUGFeRD, e-Factura, SAF-T PT, Peppol et plus. Chaque profil pré-règle hash, canonicalisation, niveau, horodatage et politique de révocation pour le régulateur cible.

Contrats de travail

Neuf profils de contrats de travail UE (Allemagne, Italie, Espagne, France, Autriche, Belgique, Portugal, Pays-Bas, Pologne) pré-configurent le niveau AdES / QES attendu par chaque juridiction.

Vérification & rapports

TsgcSignatureVerifier valide digests, chaînes, révocation OCSP et horodatages, et retourne un rapport structuré avec le niveau détecté, le signataire et le statut.

Liste de confiance UE

TsgcEUTrustList parse la LOTL en direct et les Trusted Lists de chaque État membre, vous pouvez donc classer tout certificat comme qualifié eIDAS contre le registre officiel de l'UE.

Signatures PDF visibles

Nom du signataire, raison, lieu, coordonnées et un rectangle de signature configurable sur n'importe quelle page, compatible Adobe Acrobat.

Cryptographie native

Windows CNG/BCrypt sous le capot. Aucune DLL OpenSSL à déployer avec votre exécutable.

Bibliothèque ou serveur

Le même moteur est livré comme bibliothèque de composants in-process et comme sgcSign Server, un démon de signature REST auto-hébergé pour les fermes de build et les pipelines CI.

Signer une facture XML, puis un PDF

Chargez un fournisseur de clés, configurez un profil, signez. Le même pattern en trois étapes pour chaque format.

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;

Vérifiez avant de livrer

Chaque workflow de signature devrait se terminer par une passe de vérification. TsgcSignatureVerifier prend le XML ou le PDF signé et retourne un rapport par signature : le niveau AdES réellement atteint, le sujet signataire, l'horodatage et tout problème de chaîne ou de révocation. Si vous avez demandé B-T et que le rapport dit B-B, la requête d'horodatage a échoué et vous l'apprenez sur votre machine, pas dans la file d'erreurs du régulateur.

Pour les contrôles de qualification eIDAS, combinez le vérificateur avec le composant Liste de confiance UE : sgcSign valide les signatures de la même façon que l'UE les valide, contre la LOTL en direct, et peut produire un rapport de validation standardisé.

Continuez avec sgcSign

Tutoriel : signature XAdES

D'une facture XML simple à XAdES-B-T : modes d'encapsulation, horodatages et vérification, pas à pas.

Tutoriel : signature PDF

La même marche à suivre pour PAdES : profils, signatures visibles et mises à jour incrémentales.

Profils pays

Les 21 profils UE pré-configurés pour la facturation électronique et les contrats de travail.

Fournisseurs de clés

PFX, PEM, magasin Windows, tokens PKCS#11 et les fournisseurs KMS cloud en détail.

sgcSign Server

Signature distante centralisée sur REST. Prêt pour GitHub Actions, Azure DevOps, Docker et Helm.

Tarifs

Licences pour la bibliothèque de composants et le serveur, plus le bundle All-Access.

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

Signez votre premier document dès aujourd'hui

Téléchargez l'essai, déroulez le tutoriel XAdES sur votre propre facture et vérifiez le résultat de bout en bout.