Referencia de características de sgcSign

Catálogo completo de características del suite de firma digital sgcSign — estándares de firma, proveedores de claves, perfiles por país, validación, integración con la EU Trust List e informes de validación ETSI para Delphi 7 hasta Delphi 13, C++Builder y .NET.

Tres capas, un solo motor

sgcSign separa la gestión de claves, las operaciones de firma y los formatos de salida. Combina cualquier proveedor de claves con cualquier firmador; cambia entre PFX local y KMS en la nube cambiando un solo componente.

Proveedores de claves (IsgcKeyProvider)

Abstrae el acceso a certificados y claves privadas tras una única interfaz. Archivos locales, almacén de certificados de Windows, tokens hardware PKCS#11, Azure / AWS / Google Cloud KMS, HashiCorp Vault, Certum SimplySign y QTSP remotos CSC v2.

Firmadores

Firmadores especializados para cada formato ETSI: TsgcXAdESSigner, TsgcPAdESSigner, TsgcCAdESSigner, TsgcAuthenticodeSigner. Además, TsgcDocumentSigner — una API unificada de alto nivel que selecciona y configura el firmador adecuado a partir de un perfil de país.

Componentes auxiliares

TsgcTSAClient (sellos de tiempo RFC 3161), TsgcOCSPClient (revocación), TsgcSignatureVerifier (validación), TsgcEUTrustList (LOTL/EUTL), TsgcASiCContainer (empaquetado ZIP ASiC-S/ASiC-E).

XAdES, PAdES, CAdES, ASiC y Authenticode

Cobertura completa de formatos de firma ETSI en los cuatro niveles AdES (B-B, B-T, B-LT, B-LTA), además de Microsoft Authenticode para firma de código.

XAdES — ETSI EN 319 132

XML Advanced Electronic Signatures. Modos enveloped, detached y enveloping. Niveles B-B / B-T / B-LT / B-LTA. SignatureParentElement para formatos enveloped que fijan la ubicación de la firma (KSeF /v2/auth/xades-signature). Diacríticos polacos, españoles y alemanes mediante sobrecargas WideString en Delphi 7+.

PAdES — ETSI EN 319 142

PDF Advanced Electronic Signatures. Firmas integradas dentro del PDF; apariencia de firma visible con nombre del firmante, motivo, ubicación, datos de contacto y rectángulo configurable. Compatible con Adobe Acrobat. Niveles PAdES-T y -LT mediante TSA + OCSP.

CAdES — ETSI EN 319 122

Firmas binarias CMS/PKCS#7 sobre cualquier archivo o flujo de datos. Formas detached y attached. CAdES-BES, CAdES-T (con sello de tiempo) y CAdES-XL (a largo plazo con valores de revocación).

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

Associated Signature Containers. Archivo en formato ZIP que agrupa uno o varios documentos con una firma XAdES o CAdES. Simple (apASiCS, un solo documento) o extendido (apASiCE, manifiesto + varios documentos). La primera entrada del ZIP es un marcador mimetype sin comprimir para que los verificadores detecten el contenedor en los primeros ~50 bytes.

Authenticode — Firma de código

Microsoft Authenticode para archivos Windows PE (.exe, .dll, .sys, .ocx, .cpl, .scr). Algoritmos de hash SHA-1, SHA-256 (por defecto), SHA-384 y SHA-512. Tokens de sello de tiempo RFC 3161. Firmas anidadas (duales) para compatibilidad con verificadores antiguos y modernos. Disponible en sgcSign Server.

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

Compatibilidad con los cuatro niveles de conformidad ETSI para cada formato: B-B (básico), B-T (sello de tiempo), B-LT (largo plazo, con valores de revocación), B-LTA (archivado, con sello de tiempo de archivo). Pasa una firma de B-B a B-LT añadiendo un cliente TSA y un respondedor OCSP.

Locales, hardware, nube y QTSP remotos

Cada proveedor implementa IsgcKeyProvider. Cambia entre cualquiera de estas fuentes de claves sin modificar tu código de firma.

Componente Tipo Caso de uso
TsgcPFXKeyProvider Archivo local (PKCS#12) Archivos PFX/.p12 protegidos por contraseña. Soporte nativo de Windows CNG.
TsgcPEMKeyProvider Archivo local (PEM) Certificados PEM con claves PKCS#8 cifradas. Descifrado nativo PBES2 / PBKDF2 / AES-CBC — no requiere DLL de OpenSSL.
TsgcWindowsCertStoreProvider Almacén de Windows Almacenes de máquina local y de usuario actual. Integración con Active Directory y directiva de grupo.
TsgcPKCS11Provider Token hardware Tarjetas inteligentes y HSM mediante driver PKCS#11 — SafeNet, YubiKey, Nitrokey, Thales, Utimaco, etc.
TsgcAzureTrustedSigningProvider Nube (Microsoft) Azure Trusted Signing — el servicio de firma cualificada de Microsoft. Credenciales de cliente OAuth2. Distinto de Azure Key Vault.
TsgcAWSKMSKeyProvider Nube (AWS) AWS Key Management Service. Las claves permanecen en AWS; de la red solo salen los hashes de los documentos.
TsgcGCloudKMSKeyProvider Nube (Google) Google Cloud Key Management. Autenticación con cuenta de servicio.
TsgcHashiCorpVaultKeyProvider Nube (autoalojada) Motor de firma transit de HashiCorp Vault. Las claves nunca salen del clúster Vault.
TsgcCertumSimplySignProvider QTSP remoto Certum SimplySign — proveedor cualificado polaco de firma electrónica. Compatible con KSeF, ZUS y PUE.
TsgcCSCKeyProvider QTSP remoto (CSC v2) Cliente genérico Cloud Signature Consortium v2 — Universign, D-Trust sign-me, A-Trust, FNMT Cl@ve Firma, Evrotrust, Intesi Group y cualquier QTSP que exponga la API CSC v2.

Facturación electrónica europea y firma de contratos laborales

Cada perfil ajusta de antemano el algoritmo de hash, la canonicalización, el nivel de firma, la política de sello de tiempo RFC 3161 y las expectativas de revocación OCSP para cumplir con el regulador del país de destino. Cambia de jurisdicción con una sola línea.

Perfiles de facturación electrónica (12)

Perfil País Sistema Formato Nivel
spVeriFactuEspañaVeriFactu (AEAT)XAdES-EPESB-B
spTicketBAIEspaña (País Vasco)TicketBAIXAdES-EPESB-B
spFacturaeB2BEspañaFacturae 3.x / FACeXAdES-EPESB-T
spFatturaPAItaliaFatturaPA (SDI)XAdES-BESB-B
spSAFTPTPortugalSAF-T PTRSA-SHA256B-B
spKSeFPoloniaKSeF (Krajowy System e-Faktur)XAdESB-T
spFacturXFrancia / AlemaniaFactur-X / ZUGFeRDXAdESB-B
spEFacturaRumaniae-Factura (ANAF)XAdESB-T
spNAVOnlineHungríaNAV OnlineXML-DSigB-B
spFiskalizacijaCroaciaFiskalizacijaXML-DSigB-B
spPeppolBEBélgicaPeppol UBL 2.0XAdESB-T
spPeppolBGBulgariaPeppol UBL 2.1XAdESB-T
spMyDATAGreciamyDATA (AADE)XAdESB-B

Perfiles de contratos laborales de la UE (9)

Firmas compatibles con eIDAS para los requisitos de derecho laboral de los Estados miembros (por ejemplo, § 126a BGB en Alemania, FEQ en Italia). Preajustadas por jurisdicción; se cargan en TsgcXAdESSigner mediante Profile.LoadProfile(spEmploymentXX).

Perfil País Nivel Hash Sello de tiempo OCSP Notas
spEmploymentDEAlemaniaB-LTSHA-256QES requerida por el § 126a BGB para contratos en forma escrita.
spEmploymentITItaliaB-LTSHA-256Firma cualificada FEQ; los portales del INPS aceptan XAdES y CAdES.
spEmploymentESEspañaB-TSHA-256NoBasta con AdES. Los portales SEPE / TGSS exigen FNMT o DNIe.
spEmploymentFRFranciaB-TSHA-256NoAdES sirve; se prefiere QES para firma remota bajo DSP2 / RGS.
spEmploymentATAustriaB-LTSHA-256Habitual usar QES mediante Handy-Signatur / ID Austria.
spEmploymentBEBélgicaB-LTSHA-256QES mediante tarjeta eID (BeID).
spEmploymentPTPortugalB-LTSHA-256QES mediante Cartão do Cidadão / Chave Móvel Digital.
spEmploymentNLPaíses BajosB-TSHA-256NoAdES suele ser aceptada; QES para algunos portales de RR. HH. (UWV).
spEmploymentPLPoloniaB-TSHA-256NoQES mediante Profil Zaufany o certificado cualificado cuando el contrato va a ZUS / PUE.

Verifica como lo hace la UE

Pipeline de validación completo más integración con la EU Trust List y el informe de validación XML estandarizado ETSI TS 119 102-2 — prueba legal de validez de firma aceptada por los tribunales laborales de la UE y los verificadores de la administración pública.

Verificación de firma con LTV

TsgcSignatureVerifier cubre todo el pipeline: comprobaciones de digest, verificación de firmas RSA / ECDSA, validación de la cadena de certificados, comprobación de revocación OCSP, RevocationValues embebidos para validación a largo plazo y búsqueda de fragmentos por Id para SignedProperties.

EU Trust List (LOTL / EUTL)

TsgcEUTrustList parsea la List of Trusted Lists ETSI TS 119 612 y las ~31 Trusted Lists por Estado miembro. Clasifica cualquier certificado X.509 como cualificado eIDAS consultándolo en el registro vivo de la UE. Caché en modo offline para despliegues aislados.

Informe de validación ETSI TS 119 102-2

Informe XML de validación estandarizado (v1.2.1) generado para cada verificación — el formato aceptado por los tribunales laborales de la UE y los verificadores de la administración pública como prueba legal de validez de firma.

Sellos de tiempo RFC 3161

TsgcTSAClient se conecta a cualquier autoridad de sellado de tiempo RFC 3161. Eleva las firmas de B-B a B-T, B-LT y B-LTA — verificables mucho después de que el certificado de firma haya expirado.

Revocación OCSP

TsgcOCSPClient realiza comprobaciones Online Certificate Status Protocol RFC 6960. Revocación en tiempo real, con la respuesta OCSP embebida en las firmas B-LT para que el documento siga siendo verificable cuando el respondedor esté después fuera de línea.

Canonicalización XML (C14N)

C14N inclusiva (xml-c14n11) y C14N exclusiva (xml-exc-c14n) para un procesamiento coherente de firmas XML. Cada perfil de país selecciona la canonicalización que espera su regulador.

Nativo, autocontenido y multi-versión

Cero DLL externas

Criptografía Windows CNG / BCrypt en todo — no requiere DLL de OpenSSL. PBES2 / PBKDF2 / AES-CBC nativos para PEM PKCS#8 cifrados. WinHTTP para las operaciones de red.

Delphi 7 hasta Delphi 13

Compatible con todos los compiladores Delphi desde Delphi 7 hasta RAD Studio 13, además de C++Builder. Las unidades modernas están protegidas para compatibilidad heredada (por ejemplo, TsgcASiCContainer requiere genéricos D2010+; compila como unidad vacía en D7).

Implementación .NET

Port espejo en C# para .NET Framework 2.0–4.8, .NET Core, .NET 5–9 y .NET Standard. Mismos nombres de clase Tsgc*; misma superficie de API que la biblioteca Delphi.

Código fuente completo

Código fuente completo incluido con cada licencia. Inspecciona, personaliza, audita y amplía. Nombres de clase de componente registrados para integración en tiempo de diseño en el IDE.

Sellos de tiempo UTC en todo

Todos los sellos de tiempo X.509 / CRL / OCSP / TSA se almacenan como valores TDateTime en UTC, conforme a RFC 5280, RFC 3161 y RFC 6960. Conversión a hora local mediante las propiedades *Local de cada componente.

Cero royalties en tiempo de ejecución

Redistribución binaria gratuita. Firma todos los documentos que quieras sin tarifas por documento ni licencias por despliegue.

La misma API, tres fuentes de claves distintas

Firma una factura VeriFactu con un PFX local

  • Un único componente de alto nivel (TsgcDocumentSigner)
  • El perfil selecciona XAdES-EPES, B-B, SHA-256, C14N exclusiva
  • Cambia a spFatturaPA para Italia o spKSeF para Polonia
SignVeriFactu.pas
// Sign Spanish VeriFactu invoice
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 de un EXE con Azure Trusted Signing

  • Clave en la nube, sin PFX local ni token USB
  • Autenticación con credenciales de cliente OAuth2
  • Certificado de confianza pública emitido por Microsoft
SignWithAzure.pas
// Authenticode-sign with 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 visible y sello de tiempo

  • Certificado del almacén de Windows por Subject Name
  • Sello de tiempo RFC 3161 embebido en la firma
  • Apariencia visible con motivo y ubicación
SignPDFVisible.pas
// PAdES-T with visible signature appearance
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;

Lanza firmas compatibles con eIDAS hoy mismo

Añade firma XAdES, PAdES, CAdES y ASiC a tu aplicación Delphi, C++Builder o .NET.