sgcSign

Suite de firma digital de calidad empresarial para Delphi, C++Builder y .NET. Produce firmas XAdES, PAdES, CAdES y ASiC con 10 proveedores de claves y 21 perfiles por país preconfigurados — disponible como biblioteca de componentes en proceso o como daemon de firma remota autoalojado para granjas de compilación.

XAdES / PAdES / CAdES / ASiC
10 proveedores de claves
21 perfiles por país
Conforme con eIDAS de la UE

Biblioteca o servidor — el mismo núcleo de firma

sgcSign se distribuye en dos formatos complementarios que comparten el mismo motor de firma, proveedores de claves y perfiles por país. Elige la biblioteca embebida, el servidor centralizado o úsalos juntos.

Biblioteca de componentes sgcSign

Componentes drop-in para Delphi / C++Builder / .NET que producen firmas XAdES, PAdES, CAdES y ASiC directamente dentro de tu aplicación. Criptografía nativa CNG/BCrypt, sin DLL externas, código fuente completo incluido.

Características de la biblioteca →

Servidor sgcSign

Daemon de firma remota autoalojado — API REST, panel web Bootstrap, instalador de servicio de Windows. Añade firma Authenticode, ClickOnce, NuGet y VSIX sobre los formatos de documento. Pipelines listos para GitHub Actions, Azure DevOps, Jenkins, Docker y Helm.

Resumen del servidor →

Todos los formatos ETSI, desde B-B hasta B-LTA

Cobertura total de las cuatro familias de firma ETSI más Microsoft Authenticode para binarios PE. Compatibilidad con los cuatro niveles AdES.

</>

XAdES

ETSI EN 319 132 — Firmas electrónicas avanzadas XML

Firmas envolventes, separadas y envueltas sobre XML. Niveles B-B / B-T / B-LT / B-LTA. Los acentos polacos, españoles y alemanes se conservan sin pérdidas mediante sobrecargas WideString en Delphi 7+.

PAdES

ETSI EN 319 142 — Firmas electrónicas avanzadas PDF

Incorpora firmas digitales en documentos PDF. Apariencia de firma visible con el nombre del firmante, motivo, ubicación, datos de contacto y rectángulo configurable. Compatible con Adobe Acrobat.

CAdES

ETSI EN 319 122 — Firmas electrónicas avanzadas CMS/PKCS#7

Firmas binarias CMS/PKCS#7 sobre cualquier archivo o flujo de datos. Formas separadas y adjuntas. Niveles de conformidad BES, T y XL.

ASiC-S / ASiC-E

ETSI EN 319 162 — Contenedores de firma asociada

Agrupa uno o más documentos junto con la firma XAdES o CAdES asociada en un único archivo ZIP. Simple (un documento) o Extendido (manifiesto + varios documentos).

Authenticode + ClickOnce + NuGet + VSIX

Firma de código — Servidor sgcSign

Firma archivos PE de Windows (.exe, .dll, .sys, .ocx), manifiestos ClickOnce, paquetes NuGet y bundles VSIX. SHA-256 (predeterminado), SHA-384, SHA-512 y doble firma para compatibilidad con sistemas heredados.

Archivos locales, tokens hardware, KMS en la nube

Todos los proveedores implementan la misma interfaz IsgcKeyProvider, por lo que los firmantes funcionan con cualquier origen de claves sin modificaciones. Cambia de un archivo PFX a AWS KMS modificando un único componente.

PFX / PKCS#12

TsgcPFXKeyProvider

Archivos PFX locales protegidos con contraseña. Compatibilidad nativa con Windows CNG; no requiere DLL de OpenSSL.

Archivos PEM

TsgcPEMKeyProvider

Certificados codificados en PEM y claves privadas PKCS#8 cifradas. Descifrado nativo PBES2 / PBKDF2 / AES-CBC — sin necesidad de bibliotecas externas.

Almacén de certificados de Windows

TsgcWindowsCertStoreProvider

Almacenes de certificados de la máquina local y del usuario actual. Integración fluida con Windows PKI y Active Directory.

Tokens hardware PKCS#11

TsgcPKCS11Provider

Tarjetas inteligentes y HSM a través de la interfaz estándar PKCS#11 — SafeNet, YubiKey, Nitrokey y cualquier fabricante con un controlador PKCS#11.

Azure Trusted Signing

TsgcAzureTrustedSigningProvider

Servicio de firma cualificada de Microsoft. Credenciales de cliente OAuth2, las claves privadas nunca salen de Azure. Diferente de Azure Key Vault.

AWS KMS

TsgcAWSKMSKeyProvider

AWS Key Management Service. Firma con claves alojadas en AWS; se envía el hash del documento y se recibe la firma en bruto.

Google Cloud KMS

TsgcGCloudKMSKeyProvider

Google Cloud Key Management. Autenticación con cuenta de servicio y claves alojadas en Google Cloud.

HashiCorp Vault

TsgcHashiCorpVaultKeyProvider

Motor de firma transit de Vault. Las claves permanecen dentro de Vault; los hashes del documento se envían a través de una API REST autenticada.

Certum SimplySign

TsgcCertumSimplySignProvider

Proveedor cualificado de firma electrónica polaca. Firma remota en la nube para KSeF, ZUS y otros portales de la administración pública polaca.

CSC v2 (Cloud Signature Consortium)

TsgcCSCKeyProvider

Cliente genérico CSC v2 para QTSP remotos — Universign, D-Trust sign-me, A-Trust, FNMT Cl@ve Firma, Evrotrust, Intesi Group y otros.

Facturación electrónica y contratos laborales en la UE

Cada perfil ajusta de antemano el algoritmo hash, la canonicalización, el nivel de firma, el sello de tiempo y la política de revocación OCSP para adecuarse al regulador de cada país. Cambia de jurisdicción modificando 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
spEFacturaRumaníae-Factura (ANAF)XAdESB-T
spNAVOnlineHungríaNAV OnlineXML-DSigB-B
spFiskalizacijaCroaciaFiskalizacijaXML-DSigB-B
spPeppolBE / spPeppolBGUE (Bélgica, Bulgaria)Peppol UBL 2.xXAdESB-T
spMyDATAGreciamyDATA (AADE)XAdESB-B

Perfiles de contratos laborales de la UE (9)

Firmas conformes con eIDAS para los requisitos de la legislación laboral de cada estado miembro sobre contratos de trabajo. Preajustadas al nivel AdES / QES, hash, canonicalización, sello de tiempo y política de revocación OCSP de cada jurisdicción. Aceptadas por los verificadores de las administraciones laborales.

Alemania — spEmploymentDE

Nivel B-LT, QES requerida por el § 126a BGB para contratos en forma escrita (p. ej. contratos temporales > 24 meses, pacto de no competencia post-contractual).

Italia — spEmploymentIT

Nivel B-LT, firma cualificada FEQ. CAdES (.p7m) ampliamente utilizado; XAdES también aceptado. Los portales del INPS admiten ambos.

España — spEmploymentES

Nivel B-T, AdES suficiente. Los portales del SEPE / TGSS requieren certificado FNMT o DNIe; CRL a través de la lista de confianza de la FNMT.

Francia — spEmploymentFR

Nivel B-T, AdES suficiente. QES preferida para flujos de firma remota conforme a DSP2 / RGS.

Austria — spEmploymentAT

Nivel B-LT. QES mediante Handy-Signatur / ID Austria de uso habitual.

Bélgica — spEmploymentBE

Nivel B-LT. QES mediante tarjeta eID (BeID).

Portugal — spEmploymentPT

Nivel B-LT. QES mediante Cartão do Cidadão / Chave Móvel Digital.

Países Bajos — spEmploymentNL

Nivel B-T. AdES generalmente aceptado; QES para algunos portales de RR. HH. (UWV).

Polonia — spEmploymentPL

Nivel B-T. QES mediante Profil Zaufany o certificado cualificado cuando el contrato se envía al ZUS / PUE.

Lista de confianza de la UE, informes de validación ETSI y LTV

sgcSign verifica las firmas igual que la UE las verifica — frente a la LOTL en vivo, con un informe XML estandarizado que los tribunales laborales y administraciones públicas aceptan como prueba legal.

Verificación de firma con LTV

Cadena de validación completa — comprobaciones de digest, verificación de firmas RSA/ECDSA, validación de la cadena de certificados, comprobación de revocación OCSP, RevocationValues incrustados para Long-Term Validation, búsqueda de fragmentos basada en Id para SignedProperties.

Lista de confianza de la UE (LOTL / EUTL)

TsgcEUTrustList analiza la Lista de Listas de Confianza de ETSI TS 119 612 y aproximadamente 31 Listas de Confianza por estado miembro. Clasifica cualquier certificado X.509 como cualificado eIDAS consultando su servicio TSP emisor frente al registro en vivo de la UE.

Informe de validación ETSI TS 119 102-2

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

Sellos de tiempo RFC 3161

TsgcTSAClient integrado para cualquier autoridad de sellado de tiempo RFC 3161. Promociona las firmas a XAdES-T, XAdES-LT y XAdES-LTA — verificables mucho después de que haya caducado el certificado de firma.

Del PFX local al KMS en la nube — la misma API

Firma una factura VeriFactu con un PFX local

  • Carga el certificado desde un PFX con contraseña
  • Perfil VeriFactu aplicado automáticamente
  • Una sola llamada al método devuelve el XML firmado
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

  • Sin PFX local, sin token USB
  • La clave privada permanece en Azure
  • 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-LT — firma visible con sello de tiempo

  • Certificado del almacén de Windows
  • TSA RFC 3161 promociona a PAdES-T
  • Firma 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;

Firma centralizada para tu granja de compilación

¿Necesitas firma centralizada para tu pipeline de compilación? El servidor sgcSign envuelve el mismo motor tras una API REST y un panel web Bootstrap — instalador de servicio de Windows, pipelines listos para GitHub Actions / Azure DevOps / Jenkins / Docker / Helm, modelo de proyectos multi-tenant, flujo de aprobación en dos pasos, registro de auditoría encadenado con SHA-256, métricas Prometheus y webhooks firmados con HMAC.

  • Firma Authenticode, ClickOnce, NuGet, VSIX
  • API REST, panel web, instalador de servicio de Windows
  • Todas las funcionalidades incluidas por defecto
Más información sobre el servidor sgcSign
github-actions.yml
name: Sign Release
on: [push]

jobs:
  sign:
    runs-on: windows-latest
    steps:
      - uses: esegece/sgcsign-action@v1
        with:
          server: https://sign.acme.local
          project: acme-release
          file: myapp.exe
          format: authenticode

Implanta firmas conformes con eIDAS hoy mismo

Añade firma XAdES, PAdES, CAdES y ASiC a tu aplicación Delphi, C++Builder o .NET — o pon en marcha un servicio de firma centralizada para tu granja de compilación.