21 个预配置国家配置文件

用于欧洲电子发票和 EU 劳动合同签名的一行配置文件选择器。每个配置文件预先配置哈希算法、规范化、签名等级和策略,以符合目标司法管辖区的要求。

12 个电子发票配置文件
9 个劳动合同配置文件
eIDAS Regulation 910/2014

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

适用于主要欧洲税务机构和 Peppol 参与者的现成 XAdES 配置。

常量 国家 系统 格式 等级
spVeriFactu 西班牙 VeriFactu (AEAT) XAdES-EPES B-B
spTicketBAI 西班牙(巴斯克) TicketBAI XAdES-EPES B-B
spFacturaeB2B 西班牙 Facturae 3.x / FACe XAdES-EPES B-T
spFatturaPA 意大利 FatturaPA (SDI) XAdES-BES B-B
spSAFTPT 葡萄牙 SAF-T PT RSA-SHA256 B-B
spKSeF 波兰 KSeF XAdES B-T
spFacturX 法国 / 德国 Factur-X / ZUGFeRD XAdES B-B
spEFactura 罗马尼亚 e-Factura (ANAF) XAdES B-T
spNAVOnline 匈牙利 NAV Online XML-DSig B-B
spFiskalizacija 克罗地亚 Fiskalizacija XML-DSig B-B
spPeppolBE 比利时 Peppol UBL 2.0 XAdES B-T
spPeppolBG 保加利亚 Peppol UBL 2.1 XAdES B-T
spMyDATA 希腊 myDATA (AADE) XAdES B-B

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

针对每个成员国劳动法要求调整的 eIDAS 感知签名配置文件。AdES 或 QES,正确的哈希、C14N、OCSP/时间戳预期。

国家 配置文件 等级 哈希 C14N 时间戳 OCSP 备注
德国 spEmploymentDE slBLT SHA-256 排他性 书面形式合同(如定期超过 24 个月、合同后竞业禁止)依据 § 126a BGB 需要 QES。
意大利 spEmploymentIT slBLT SHA-256 c14n10 QES(FEQ)常见。CAdES(.p7m)广泛使用;XAdES 同样被接受。INPS 门户均支持。
西班牙 spEmploymentES slBT SHA-256 排他性 AdES 即可。SEPE / TGSS 门户需要 FNMT 或 DNIe 证书;CRL 通过 FNMT 信任列表获取。
法国 spEmploymentFR slBT SHA-256 排他性 AdES 可行;DSP2 / RGS 远程签名流程首选 QES。
奥地利 spEmploymentAT slBLT SHA-256 排他性 常用 Handy-Signatur / ID Austria 的 QES。
比利时 spEmploymentBE slBLT SHA-256 排他性 通过 eID 卡(BeID)的 QES。
葡萄牙 spEmploymentPT slBLT SHA-256 排他性 通过 Cartão do Cidadão / Chave Móvel Digital 的 QES。
荷兰 spEmploymentNL slBT SHA-256 排他性 AdES 普遍被接受;某些 HR 门户(UWV)需要 QES。
波兰 spEmploymentPL slBT SHA-256 排他性 合同提交至 ZUS / PUE 时需要通过 Profil Zaufany 或资质证书的 QES。无集中劳动政策 URI。

一行切换

通过更改一个常量来切换司法管辖区域。哈希、规范化、等级、OCSP 和时间戳预期将自动重新配置。

原地切换配置文件

  • spVeriFactuspFatturaPA 只需一行编辑。签名器自动重新配置所有内部标志。
  • 劳动合同配置文件通过 Profile.LoadProfile(spEmploymentXX) 加载到 TsgcXAdESSigner 中。
  • 当部署需要比默认值更严格的规则时,在 LoadProfile 之后覆盖单个标志。
  • 相同的密钥提供者、相同的签名器实例、相同的输入字节——只有配置文件改变。
switch-profile.pas
// E-invoicing profiles: assign to .Profile
vSigner.Profile := spVeriFactu;       // Spanish VeriFactu
vSigner.Profile := spFatturaPA;       // Italian FatturaPA
vSigner.Profile := spKSeF;            // Polish KSeF

// Employment profiles: use Profile.LoadProfile
vSigner.Profile.LoadProfile(spEmploymentDE);  // German QES B-LT
vSigner.Profile.LoadProfile(spEmploymentES);  // Spanish AdES B-T

// Override defaults if deployment requires it
vSigner.Profile.LoadProfile(spEmploymentES);
vSigner.Profile.IncludeOCSP := True;     // SEPE requires OCSP
vSigner.Profile.IncludeTimestamp := True;
vSigner.Profile.PolicyIdentifier :=
  'http://my.example/policy/v1';

eIDAS 背景

EU 法规 910/2014 定义了三个签名等级。国家配置文件将每个司法管辖区域映射到正确的等级。

简单电子签名(SES)

附加到其他电子数据上用于签名的任意电子数据。法律效力最低;通常不足以用于劳动合同或电子发票。

高级电子签名(AdES)

与签名人唯一关联,能够识别其身份,通过其独有控制的手段创建,且防篡改。适用于大多数电子发票系统和许多 EU 劳动司法管辖区的默认选择。

合格电子签名(QES)

由合格签名创建设备(QSCD)上创建的合格证书支持的 AdES。在所有 EU 成员国具有与手写签名同等的法律效力。德国书面形式合同(§ 126a BGB)和许多高价值工作流程均需要此类签名。

谁来验证

税务机构(AEAT、ANAF、AADE、NAV)、劳动法院、公共行政验证机构以及 Peppol 接入点。国家配置文件附带这些验证机构所期望的参数。

西班牙——FacturaeB2B / FACe

一个特定的横切问题,可能在西班牙电子发票部署中引起意外。

FACe 提交使用 RSA-SHA1

spFacturaeB2B 配置文件为提交到西班牙 FACe 门户的 Facturae 3.x 发票生成 XAdES-EPES 签名。PFX 支持的证书为 FacturaeB2B 配置文件正确生成 RSA-SHA1 签名。

早期 sgcSign 版本在 TsgcPFXKeyProvider 中硬编码了 SHA-256,导致 FACe 以 INVALID_INVOICE-122 "los datos de la firma no son correctos" 拒绝提交。当前配置文件自动为 FacturaeB2B 选择 SHA-1,为 VeriFactu 和 TicketBAI 选择 SHA-256。

spain-facturae.pas
var
  vSigner: TsgcDocumentSigner;
begin
  vSigner := TsgcDocumentSigner.Create(nil);
  try
    vSigner.Profile := spFacturaeB2B;
    vSigner.KeyProvider := vPFXProvider;
    // PFX provider auto-uses RSA-SHA1
    vSigner.SignXML(vInvoiceXML);
  finally
    vSigner.Free;
  end;
end;

在本地司法管辖区签名

选择国家,更改一个常量,即可发出合规签名。已包含 AEAT、SDI、KSeF、INPS、SEPE。