sgcSign

适用于 Delphi、C++Builder 和 .NET 的企业级数字签名套件。支持 10 个密钥提供者和 21 个预配置国家配置文件,可生成 XAdES、PAdES、CAdES 和 ASiC 签名——可作为进程内组件库或自托管远程签名服务器使用。

XAdES / PAdES / CAdES / ASiC
10 个密钥提供者
21 个国家配置文件
符合 EU eIDAS 规范

快速开始 →

当前版本:2026.11.0,。 查看更新日志

两分钟了解 sgcSign

从 Delphi 和 .NET 签署代码与文档:PAdES、XAdES、CAdES 和 Authenticode,支持智能卡和 HSM。

组件库或服务器——相同的签名引擎

sgcSign 提供两种互补形态,共享相同的签名引擎、密钥提供者和国家配置文件。可选择嵌入式库、集中式服务器,或同时使用两者。

sgcSign 组件库

可直接嵌入应用程序的 Delphi / C++Builder / .NET 组件,可生成 XAdES、PAdES、CAdES 和 ASiC 签名。原生加密,无需外部 DLL,包含完整源代码。

组件库功能 →

sgcSign 服务器

自托管远程签名服务器——REST API、Bootstrap Web 管理台、Windows 服务安装程序。在文档格式基础上增加 Authenticode、ClickOnce、NuGet 和 VSIX 签名。

服务器概览 →

全部 ETSI 格式,B-B 到 B-LTA

全面支持四种 ETSI 签名类型以及适用于 PE 二进制文件的 Microsoft Authenticode。支持所有四个 AdES 等级。

</>

XAdES

ETSI EN 319 132 — XML Advanced Electronic Signatures

支持 XML 封装、分离和包裹签名。等级 B-B / B-T / B-LT / B-LTA。在 Delphi 7+ 上通过 WideString 重载无损处理波兰语、西班牙语和德语带逆字符。

PAdES

ETSI EN 319 142 — PDF Advanced Electronic Signatures

将数字签名嵌入 PDF 文档。可见签名外观包含签名者姓名、理由、位置、联系信息和可配置矩形。与 Adobe Acrobat 兼容。

CAdES

ETSI EN 319 122 — CMS/PKCS#7 Advanced Electronic Signatures

对任意文件或数据流的 CMS/PKCS#7 二进制签名。支持分离和附属形式。BES、T 和 XL 层级。

ASiC-S / ASiC-E

ETSI EN 319 162 — Associated Signature Containers

将一个或多个文档以及关联的 XAdES 或 CAdES 签名打包到一个 ZIP 档案中。简单形式(一个文档)或扩展形式(清单 + 多个文档)。

Authenticode + ClickOnce + NuGet + VSIX

代码签名——sgcSign 服务器

对 Windows PE 文件(.exe、.dll、.sys、.ocx)、ClickOnce 清单、NuGet 包和 VSIX 包进行签名。支持 SHA-256(默认)、SHA-384、SHA-512 以及双签名兼容老系统。

本地文件、硬件令牌、云 KMS

每个提供者均实现相同的 IsgcKeyProvider 接口,密钥源可无缝切换无需修改签名器。仅需更换一个组件,即可从 PFX 文件切换至 AWS KMS。

PFX / PKCS#12

TsgcPFXKeyProvider

本地密码保护 PFX 文件。Windows 上提供原生 Windows CNG 支持,Linux64、macOS、iOS 和 Android 上使用纯 Pascal,无需 OpenSSL DLL。

PEM Files

TsgcPEMKeyProvider

PEM 编码的证书和加密 PKCS#8 私钥。原生 PBES2 / PBKDF2 / AES-CBC 解密——无需外部库。

Windows Certificate Store

TsgcWindowsCertStoreProvider

本地计算机和当前用户证书存储。与 Windows PKI 和 Active Directory 无缝集成。

PKCS#11 Hardware Tokens

TsgcPKCS11Provider

通过标准 PKCS#11 接口使用智能卡和 HSM——SafeNet、YubiKey、Nitrokey 以及任何提供 PKCS#11 驱动的厂商。

Azure Trusted Signing

TsgcAzureTrustedSigningProvider

Microsoft 认证签名服务。OAuth2 客户端凭据,私钥永远不离开 Azure。与 Azure Key Vault 不同。

AWS KMS

TsgcAWSKMSKeyProvider

AWS 密钥管理服务。使用 AWS 中的密钥进行签名;发送文档哈希,返回原始签名。

Google Cloud KMS

TsgcGCloudKMSKeyProvider

Google Cloud 密钥管理。服务账户认证,密钥托管于 Google Cloud。

HashiCorp Vault

TsgcHashiCorpVaultKeyProvider

Vault 传输签名引擎。密钥始终存放在 Vault 中;文档哈希通过经过认证的 REST API 发送。

Certum SimplySign

TsgcCertumSimplySignProvider

波兰资质电子签名提供商。基于云的远程签名,适用于 KSeF、ZUS 和其他波兰政务门户。

CSC v2 (Cloud Signature Consortium)

TsgcCSCKeyProvider

通用 CSC v2 客户端,适用于远程 QTSP——Universign、D-Trust sign-me、A-Trust、FNMT Cl@ve Firma、Evrotrust、Intesi Group 等。

欧洲电子发票和劳动合同

每个配置文件均预先设置哈希算法、规范化、签名级别、时间戳和 OCSP 吐销策略,以匹配目标国家的监管要求。一行代码即可切换司法管辖区域。

电子发票配置文件(12 个)

Profile Country System Format Level
spVeriFactuSpainVeriFactu (AEAT)XAdES-EPESB-B
spTicketBAISpain (Basque)TicketBAIXAdES-EPESB-B
spFacturaeB2BSpainFacturae 3.x / FACeXAdES-EPESB-T
spFatturaPAItalyFatturaPA (SDI)XAdES-BESB-B
spSAFTPTPortugalSAF-T PTRSA-SHA256B-B
spKSeFPolandKSeF (Krajowy System e-Faktur)XAdESB-T
spFacturXFrance / GermanyFactur-X / ZUGFeRDXAdESB-B
spEFacturaRomaniae-Factura (ANAF)XAdESB-T
spNAVOnlineHungaryNAV OnlineXML-DSigB-B
spFiskalizacijaCroatiaFiskalizacijaXML-DSigB-B
spPeppolBE / spPeppolBGEU (Belgium, Bulgaria)Peppol UBL 2.xXAdESB-T
spMyDATAGreecemyDATA (AADE)XAdESB-B

葡萄牙:除了对 SAF-T (PT) 文件本身进行签名外,专用的 TsgcSAFTPTSigner 组件还可生成符合 Portaria 363/2010 的逐张发票签名,即 RSA-SHA1 签名,其四个字符(位置 1, 11, 21 and 31)会打印在发票上,并载入 QR-code 字段 Q 中。

TicketBAI:各省份变体 spTicketBAIAraba、spTicketBAIBizkaia 和 spTicketBAIGipuzkoa 各自携带其所属省份 Hacienda 的官方签名策略标识符和 SHA-256 摘要。spTicketBAI 出于向后兼容映射到 Bizkaia 组合。

捷克 EET 2.0:销售登记(Elektronická evidence tržeb)并不是签名配置文件,它有自己专用的组件 TsgcEETClient。该组件按照 WS-Security 对每笔登记的销售进行签名,将其提交给税务机构,并读回确认码,即 pok。报送将于 2027 年 1 月 1 日开始。了解更多关于 EET 2.0 的信息。

EU 劳动合同配置文件(9 个)

符合 eIDAS 规范的签名,满足各成员国对劳动合同的劳动法要求。根据各司法管辖区域预先设置 AdES / QES 等级、哈希、规范化、时间戳和 OCSP 吐销策略。被劳动行政验证机构接受。

德国 — spEmploymentDE

等级 B-LT,书面形式合同(如定期超过 24 个月、合同后竞业禁止)依据 § 126a BGB 需要 QES。

意大利 — spEmploymentIT

等级 B-LT,FEQ 资质签名。CAdES(.p7m)广泛使用;XAdES 同样被接受。INPS 门户均支持。

西班牙 — spEmploymentES

等级 B-T,AdES 即可。SEPE / TGSS 门户需要 FNMT 或 DNIe 证书;CRL 通过 FNMT 信任列表获取。

法国 — spEmploymentFR

等级 B-T,AdES 可行。DSP2 / RGS 远程签名流程首选 QES。

奥地利 — spEmploymentAT

等级 B-LT。常用 Handy-Signatur / ID Austria 的 QES。

比利时 — spEmploymentBE

等级 B-LT。通过 eID 卡(BeID)的 QES。

葡萄牙 — spEmploymentPT

等级 B-LT。通过 Cartão do Cidadão / Chave Móvel Digital 的 QES。

荷兰 — spEmploymentNL

等级 B-T。AdES 普遍被接受;某些 HR 门户(UWV)需要 QES。

波兰 — spEmploymentPL

等级 B-T。合同提交至 ZUS / PUE 时需要通过 Profil Zaufany 或资质证书的 QES。

构建、验证并签署发票本身

自 sgcSign 2026.12 起提供。填写基于 EN 16931 的强类型发票,由库计算合计,检查业务规则,并按接收方或税务机关要求的格式生成文档。国家配置文件对结果进行签名,客户端负责发送。适用于 Delphi 7 到 Delphi 13 和 .NET,包含在 sgcSign 中。

强类型发票模型

TsgcInvoice

基于 EN 16931 语义数据模型的强类型模型:卖方、买方、付款、明细行、折扣和费用。CalculateTotals 会填充各行净额、增值税明细和单据合计。

UBL 2.1 和 CII

TsgcInvoiceUBL, TsgcInvoiceCII

UBL 2.1 Invoice 与 CreditNote 以及 UN/CEFACT Cross Industry Invoice D16B 的写入器和读取器。模型本身不包含 XML,因此同一张发票可以用两种语法输出。

XRechnung、Peppol BIS 和 Factur-X

TsgcInvoiceFacturX, TsgcInvoiceDocument

支持 UBL 或 CII 格式的 XRechnung、UBL 格式的 Peppol BIS Billing 3.0,以及五种 Factur-X / ZUGFeRD 配置文件的 XML:Minimum、Basic WL、Basic、EN 16931 和 Extended。

验证

TsgcInvoiceValidator

原生实现的 EN 16931 业务规则,以及 XRechnung 和 Peppol BIS Billing 3.0 规则集,直接在模型上运行。每条消息都包含规则标识符、业务术语和字段路径。

国家格式

TsgcInvoiceFacturae, TsgcInvoiceFatturaPA, TsgcInvoiceKSeF

提供西班牙 Facturae 3.2、3.2.1 和 3.2.2,意大利 FatturaPA 1.2.3(FPR12 和 FPA12),以及波兰 KSeF 结构化发票 FA(3) 的写入器。

VeriFactu 和 TicketBAI

TsgcInvoiceVeriFactu, TsgcInvoiceTicketBAI

VERI*FACTU 开票记录、登记与作废,带链式 SHA-256 指纹和二维码。TicketBAI 1.2.2 发票与作废文件,包含与上一张发票的链接、TBAI 标识符和二维码。

提交客户端

TsgcVeriFactuClient, TsgcSdIClient, TsgcKSeFOnlineClient

将 VERI*FACTU 记录发送到 AEAT 的 Web 服务,将 FatturaPA 文件提交到意大利 Sistema di Interscambio (SdI) 并解析其通知,还可在交互式会话中向 KSeF 发送发票,支持状态轮询和 UPO 回执。

Peppol 网络发送

TsgcPeppolClient, TsgcPeppolSMPClient

通过 SML 和 SMP 查询参与者并验证已签名的 SMP 应答,支持 SBDH 信封和 Peppol AS4 配置文件的 AS4 消息。SendInvoice 一次调用即可完成查询、信封封装、发送和回执验证,并保存已签名的回执。发送需要成为经认证的 Peppol 接入点,请参阅下面的要求。

一个组件完成整个流程

TsgcInvoiceDocument

选择格式,填写发票,调用 Build。组件会计算合计,使用该格式的规则集进行验证,生成文档,并用该格式的签名配置文件对其签名。

格式:写入与读取

格式 类 写入 读取
UBL 2.1 Invoice 和 CreditNoteTsgcInvoiceUBL是是
UN/CEFACT CII D16BTsgcInvoiceCII是是
XRechnung,UBL 或 CIITsgcInvoiceDocument是是
Peppol BIS Billing 3.0,UBLTsgcInvoiceDocument是是
Factur-X / ZUGFeRD XML,五种配置文件TsgcInvoiceFacturX是是
Facturae 3.2、3.2.1 和 3.2.2TsgcInvoiceFacturae是否
FatturaPA 1.2.3TsgcInvoiceFatturaPA是否
KSeF FA(3)TsgcInvoiceKSeF是否
VERI*FACTU 记录TsgcInvoiceVeriFactu是否
TicketBAI 1.2.2TsgcInvoiceTicketBAI是否

范围:UBL 和 CII 及其 XRechnung、Peppol BIS 和 Factur-X 变体可以读回模型。国家格式仅支持写入。SdI 会在通道认证期间向发送方提供其端点。组件只发送 KSeF 发票而不对其签名,因为 KSeF 不对发票 XML 签名。

Peppol 网络发送:sgcSign 2026.12 新增,适用于 Delphi 7 到 Delphi 13 和 .NET。TsgcPeppolSMPClient 通过 SML 和 SMP 查询参与者并验证已签名的 SMP 应答。TsgcPeppolSBDH 和 sgcPeppolWrapInvoice 写入 Peppol 业务消息信封 (SBDH)。TsgcPeppolAS4Message 和 TsgcPeppolAS4Receipt 实现 Peppol AS4 配置文件的 AS4 消息:使用 RSA-SHA256 签名,负载用 gzip 压缩并用 AES-128-GCM 加密,密钥传输使用 RSA-OAEP。TsgcPeppolClient 一次调用即可完成查询、信封封装、发送和回执验证(SendInvoice、Resend),保存已签名的回执,并返回带有错误代码的结果对象。无需外部库:加密、XML 和 AS4 代码均包含在库中。演示:Demos\Delphi\Peppol 和 Demos\CBuilder\Peppol。

Peppol 要求和限制:要在 Peppol 网络上发送,必须是经认证的 Peppol 接入点(服务提供商),并持有 OpenPeppol 签发的接入点证书。该库实现协议,但不提供证书或认证。使用服务提供商的公司通常通过该提供商发送。该库仅负责发送:没有接收接入点,也没有 Peppol 报告。参与者查询不需要证书。发送方已针对开源 phase4 AS4 服务器(版本 4.9.0)在本地测试 PKI 上完成互操作性测试:Delphi 和 .NET 库发出的每条消息都被接受,每个回执都通过验证。它尚未在生产接入点上运行,也未使用真实的 Peppol 证书。

从强类型发票到已签名文件

填写、验证并生成 UBL 发票

  • 合计由库计算
  • 写入前检查 EN 16931 规则
  • 输出为 UBL 2.1 Invoice
CreateInvoice.pas
procedure CreateInvoice;
var
  oInvoice: TsgcInvoice;
  oLine: TsgcInvoiceLine;
  oValidator: TsgcInvoiceValidator;
  oUBL: TsgcInvoiceUBL;
begin
  oInvoice := TsgcInvoice.Create;
  oValidator := TsgcInvoiceValidator.Create;
  oUBL := TsgcInvoiceUBL.Create;
  try
    oInvoice.Number := 'INV-2026-0001';
    oInvoice.IssueDate := EncodeDate(2026, 11, 11);
    oInvoice.DueDate := EncodeDate(2026, 12, 11);
    oInvoice.CurrencyCode := 'EUR';
    oInvoice.SpecificationIdentifier :=
      CS_SGC_INVOICE_UBL_CUSTOMIZATION_EN16931;
    oInvoice.BuyerReference := 'PO-7781';

    oInvoice.Seller.Name := 'Seller Company SL';
    oInvoice.Seller.VATID := 'ESB12345674';
    oInvoice.Seller.Address.City := 'Madrid';
    oInvoice.Seller.Address.CountryCode := 'ES';
    oInvoice.Buyer.Name := 'Buyer Company GmbH';
    oInvoice.Buyer.VATID := 'DE123456789';
    oInvoice.Buyer.Address.City := 'Berlin';
    oInvoice.Buyer.Address.CountryCode := 'DE';

    oLine := oInvoice.Lines.Add;
    oLine.ID := '1';
    oLine.Item.Name := 'Consulting';
    oLine.Quantity := 10;
    oLine.UnitCode := CS_SGC_INVOICE_UNIT_HOUR;
    oLine.Price.NetPrice := 85;
    oLine.VATCategoryCode := CS_SGC_INVOICE_VAT_STANDARD;
    oLine.VATRate := 21;

    // line amounts, VAT breakdown and totals
    oInvoice.CalculateTotals;
    // EN 16931 business rules
    if not oValidator.Validate(oInvoice) then
      raise Exception.Create(oValidator.AsText);
    // UBL 2.1 document
    oUBL.WriteToFile(oInvoice, 'invoice.xml');
  finally
    oUBL.Free;
    oValidator.Free;
    oInvoice.Free;
  end;
end;

使用 TsgcInvoiceDocument 一次调用完成构建和签名

  • 格式决定规则集和签名配置文件
  • 验证失败时不会写入任何内容
  • 任何 sgcSign 密钥提供者都可以对文档签名
BuildSignedInvoice.pas
procedure BuildSignedInvoice;
var
  oKeyProvider: TsgcPFXKeyProvider;
  oDocument: TsgcInvoiceDocument;
begin
  oKeyProvider := TsgcPFXKeyProvider.Create(nil);
  oDocument := TsgcInvoiceDocument.Create(nil);
  try
    oKeyProvider.FileName := 'certificate.pfx';
    oKeyProvider.Password := 'secret';
    oKeyProvider.LoadFromFile;

    // FillInvoice sets seller, buyer and lines as in the previous example
    FillInvoice(oDocument.Invoice);

    oDocument.Format := ifFacturXEN16931;
    oDocument.Sign := True;
    oDocument.KeyProvider := oKeyProvider;
    // totals, validation, Factur-X XML and XAdES signature
    oDocument.BuildToFile('factur-x.xml');
  finally
    oDocument.Free;
    oKeyProvider.Free;
  end;
end;

一款已编译且附带完整源代码的小型企业应用程序

sgcSign 2026.12 新增。sgcInvoice 是一款面向小型企业的 Windows 桌面应用程序,随 sgcSign 以编译后的程序及完整的 Delphi 源代码一同提供,位于 apps\sgcInvoice 文件夹。它涵盖收入、支出、联系人、产品、分析和报表,对于在西班牙注册成立的公司还涵盖税务申报,让您能够管理企业账目,并生成和签署自己的电子发票。导出对话框会在保存前依据所选格式的规则验证发票,文件使用 Windows 证书存储区中的证书或 PFX 文件进行签名。

  • 收入:普通、简化、更正、形式发票和定期发票,付款和发票 PDF
  • 支出:供应商发票和收据,含明细行、税费、类别、付款和附件,定期支出和工资
  • 联系人、产品和本地 SQLite 数据库,无需服务器

构建源代码需要 Delphi(使用 Delphi 13 构建和测试)、sgcSign 源代码以及 sgcUI 源代码,后者是 eSeGeCe 的另一款独立产品。已编译的程序无需它们即可运行,并随每个版本一同安装。源代码随包含源代码的注册版本一同安装。不包含:银行账户和对账、资金管理、批量付款、收据自动识别、电子邮件、电子表格导出、向税务机关发送申报表或发票或通过 Peppol 网络发送,以及 VERI*FACTU 记录。输出依据库自身的规则验证,而不是使用外部的 Schema 或 Schematron 验证器。

sgcInvoice 亮点

  • 导出为 UBL、CII、Peppol BIS、XRechnung(UBL 和 CII)、Factur-X EN 16931(XML)、Facturae、FatturaPA 和 KSeF FA(3)
  • 使用 Windows 证书存储区中的证书或 PFX 文件进行 XAdES 签名(KSeF 文件不签名)
  • 保存前依据格式规则进行验证,并提供签名检查操作
  • 界面和发票 PDF 支持八种语言:英语、西班牙语、德语、法语、意大利语、荷兰语、波兰语和葡萄牙语
  • 首页汇总、按两个分析标准和按项目的分析(含图表),以及报表(损益、收入、支出、增值税汇总、未结项目),支持导出 PDF
  • 对于在西班牙注册成立的公司:税务申报,模型 111、115、130、180、190、303、347、349 和 390,附带模型 PDF、官方表格 PDF 和提交给税务机关的文件,另有固定资产和以 CSV 形式输出的登记簿
  • 增值税税率和开具规则遵循公司所在国家,每家公司可设置默认增值税税率和货币
  • 适用于 Win32 和 Win64 的 Windows VCL 应用程序

EU 信任列表、ETSI 验证报告和 LTV

sgcSign 采用与 EU 相同的方式验证签名——对照实时 LOTL,生成劳动法院和公共行政机构接受的标准化 XML 报告作为法律证明。

带 LTV 的签名验证

完整验证流程——摘要校验、RSA/ECDSA 签名验证、证书链验证、OCSP 吐销检查、内嵌长期验证 RevocationValues、基于 ID 的 SignedProperties 片段查找。

EU 信任列表(LOTL / EUTL)

TsgcEUTrustList 解析 ETSI TS 119 612 信任列表的列表以及约 31 个成员国信任列表。通过将证书签发 TSP 服务与实时 EU 注册表匹配,对任意 X.509 证书进行 eIDAS 资质分类。

X.509 证书解码器和 OCSP

TsgcX509Certificate 可解码在线解码器显示的每个字段:密钥大小、算法名称、冒号和十进制形式的序列号、RFC 2253 / LDAP 可分辨名称、证书策略、密钥标识符、SHA-1 / SHA-256 / MD5 指纹以及 SPKI SHA-256 pin。它以加密方式验证证书的签发者(RSA 和 ECDSA),从 AIA caIssuers URL 获取签发 CA,并通过 TsgcOCSPClient.CheckCertificateAuto 运行实时 OCSP 吐销检查。

ETSI TS 119 102-2 验证报告

每次验证均生成标准化 XML 验证报告(v1.2.1)——被 EU 劳动法院和公共行政验证机构接受为签名有效性的法律证明。

RFC 3161 时间戳

内置 TsgcTSAClient,支持任意 RFC 3161 时间戳机构。可将签名提升至 XAdES-T、XAdES-LT 和 XAdES-LTA——即使签名证书过期后仍可验证。

从本地 PFX 到云 KMS——相同的 API

使用本地 PFX 对 VeriFactu 发票进行签名

  • 从 PFX 文件加载证书(带密码)
  • 自动应用 VeriFactu 配置文件
  • 一个方法调用即可返回已签名的 XML
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;

使用 Azure Trusted Signing 对 EXE 进行 Authenticode 签名

  • 无需本地 PFX,无需 USB 令牌
  • 私钥始终存储在 Azure
  • 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.TenantId := '00000000-0000-0000-0000-000000000000';
    vKeyProvider.ClientId := '11111111-1111-1111-1111-111111111111';
    vKeyProvider.ClientSecret := 'my-client-secret';
    vKeyProvider.AccountName := 'my-trusted-signing-account';
    vKeyProvider.CertificateProfileName := 'public-trust';
    vKeyProvider.Endpoint := 'https://eus.codesigning.azure.net';
    vKeyProvider.Connect;

    vSigner.KeyProvider := vKeyProvider;
    vSigner.Level := alBES;   // alT additionally requires a TSAClient
    vSigner.SignFile('myapp.exe', 'myapp-signed.exe');
  finally
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

PAdES-LT——带时间戳的可见签名

  • 来自 Windows 证书存储的证书
  • RFC 3161 TSA 将签名提升为 PAdES-T
  • 含理由和位置的可见签名
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.StoreName := 'MY';
    vKeyProvider.StoreLocation := cslCurrentUser;
    vKeyProvider.SelectCertificateBySubject('Acme Corp');

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

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

为构建场提供集中式签名

需要为构建流水线提供集中式签名?sgcSign 服务器将相同的引擎封装在 REST API 和 Bootstrap Web 管理台背后:Windows 服务安装程序、多租户项目模型、两步审批工作流、SHA-256 哈希链审计日志、Prometheus 指标和 HMAC 签名的 Webhook。

  • Authenticode、ClickOnce、NuGet、VSIX 签名
  • REST API、Web 管理台、Windows 服务安装程序
  • 默认包含全部功能
了解更多关于 sgcSign 服务器

服务器亮点

  • 管理控制台的双因素和 OpenID Connect 登录
  • 使用与本机绑定的主密钥对机密进行静态加密
  • 由服务器在所有签名路径上强制执行的一次性审批
  • 带自动回退的默认时间戳服务器
  • 加密定时备份,一条命令即可恢复
  • 证书到期警告和电子邮件通知
查看所有服务器功能 →
3,000+开发者
20+年
761+组件
30+API 集成
5平台
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

立即部署符合 eIDAS 规范的签名

将 XAdES、PAdES、CAdES 和 ASiC 签名添加到您的 Delphi、C++Builder 或 .NET 应用程序——或为构建场部署集中式签名服务。

eSeGeCe 的其他产品

将 sgcSign 与我们的其他 Delphi、C++ Builder 和 .NET 组件库搭配使用。

sgcWebSockets

面向 Delphi、C++ Builder 和 .NET 的企业级 WebSocket、HTTP/2、MQTT、AMQP、WebRTC 和 AI/LLM 组件,内含 30 余项 API 集成。

使用签署文档所用的同一套 XAdES / CAdES 引擎,对 WebSocket 和 MQTT 消息载荷进行端到端签名。

了解更多 →

sgcHTML

面向 Delphi、C++ Builder 和 .NET 的服务器端 HTML 和 UI 组件。60 余个基于 Bootstrap 5 和 htmx 构建的控件,无需维护单独的 JavaScript 前端。

无需单独的前端技术栈,即可为您的签名流程添加 Web 界面。

了解更多 →

sgcQUIC

面向 Delphi、C++ Builder 和 .NET 的 QUIC 与 HTTP/3 客户端和服务器组件。是 sgcWebSockets Enterprise 的附加组件。

通过 HTTP/3 提交签名与时间戳请求,在高延迟链路上实现更快的 TLS 1.3 握手。

了解更多 →

sgcOpenAPI

OpenAPI 3.0 解析器和 SDK 生成器。几秒钟内将任何 OpenAPI 规范转换为强类型的 Delphi 客户端。

为生成的 SDK 所产生的 REST API 请求和响应签名。

了解更多 →

sgcBiometrics

面向 Delphi 和 C++ Builder 的原生 Windows Hello、指纹和 Windows 生物识别框架组件。

在调用签名程序之前,使用指纹或 Windows Hello 解锁签名密钥。

了解更多 →

sgcIndy

更新版 Indy TCP/IP 组件,为 Delphi 7 至 13 提供现代 TLS、IPv6 和 HTTP/2 支持。

为向 TSA、OCSP 响应器和欧盟验证端点提交签名,提供值得信赖的传输层。

了解更多 →

sgcWebRTC

面向 Delphi 和 C++ Builder 的完整 WebRTC 媒体引擎:音视频通话、数据通道和屏幕共享。sgcWebSockets Enterprise 的附加组件。

在发放签名密钥之前,通过实时视频通话验证签署人身份。

了解更多 →

sgcAI

面向 Delphi 和 C++ Builder 的 15 个 AI、LLM 和 MCP 组件。一个聊天组件即可接入 OpenAI、Anthropic、Gemini、DeepSeek、Ollama、Grok 和 Mistral。独立产品,已包含 sgcWebSockets Core 运行时。

无需引入整个 sgcWebSockets 库,即可为签名工作流加入智能助手。

了解更多 →

sgcMQ

面向 Delphi 和 C++ Builder 的 MQTT 3.1.1 和 5.0、AMQP 0.9.1、AMQP 1.0、Apache Kafka 与 STOMP 客户端组件。独立产品,已包含 sgcWebSockets Core 运行时。

通过 MQTT、AMQP 或 Kafka 将签名请求排入队列,并在请求到达时逐一签名。

了解更多 →

sgcCrypto

面向 Delphi 和 C++ Builder 的通用密码学库:对称与非对称加密算法、哈希和后量子算法。自 sgcWebSockets Standard 起免费提供。

sgcSign 用于构建签名算法的同一套加密和哈希原语,现已可独立获取。

了解更多 →

sgcSocial

WhatsApp Business Cloud API 和 Telegram TDLib 客户端。独立产品,已包含 sgcWebSockets Core 运行时。

文档一经封签,即可通过 WhatsApp 或 Telegram 交付给客户。

了解更多 →