电子签名库与 API
eSignature · .NET 与 Java · 39 个 NuGet 包

电子签名库与 API

从零开发电子签名需要数月时间。使用 eSignature,PDF、XML 和数据签名只需几行代码:您只需添加所需的签名标准、签名硬件或时间戳服务商,每一项都是独立的包。

什么是电子签名库?

电子签名库是一个现成的代码包,让您自己的软件具备创建和验证电子签名的能力。它替您处理签名标准(CAdES、XAdES、PAdES、ASiC)、证书链验证、时间戳以及与签名硬件的通信。eSignature 在 .NET 上以模块化包实现这一切:如果只签署 PDF,一个包就够了。

如何使用?

1

添加包

将所需标准的包添加到项目中,例如 PDF 签名使用 eSignature.PAdES。

2

选择签名来源

智能卡、USB Key、网络 HSM、云 HSM 或手机签名——每个服务商都是独立的包。

3

签名

根据文档、证书和签名级别生成签名;最高支持长期归档级别(LTA)。

4

验证

同一个库负责验证签名:按 RFC 5280 进行证书链验证、CRL、OCSP、Delta CRL 以及离线验证。

库中包含什么?

模块化结构——39 个包

只安装您用到的部分;没有多余依赖,也不臃肿。

全部 ETSI 配置

CAdES(从 BES 到 A)、XAdES(BES/T/C/X/XL/A)、PAdES(从 B-B 到 B-LTA)以及 ASiC-S/ASiC-E。

智能卡与 USB Key

通过 Windows CNG 和 PKCS#11;支持 AKİS、SafeNet/eToken、Gemalto/Thales、IDEMIA、Feitian、YubiKey、Nitrokey 等设备。

HSM 与云 HSM

Thales Luna、Utimaco、Entrust nShield 网络 HSM;AWS CloudHSM/KMS、Azure Key Vault HSM 和 Google Cloud KMS。

手机签名

支持 Turkcell、Vodafone 和 Türk Telekom 手机签名;每家运营商是独立的包。通过手机号发起,由用户确认。

11 家以上时间戳服务商

KamuSM、GlobalSign、DigiCert、Sectigo、Entrust、FreeTSA 等;每个 TSA 都是独立的包。

完整的证书验证

按 RFC 5280 进行证书链验证、CRL、OCSP、Delta CRL、离线验证——达到银行和公共部门级别的信任链检查。

法规合规

完全符合土耳其第 5070 号《电子签名法》;在欧洲方面,ETSI/eIDAS 配置已投入生产使用。

谁在使用?

软件公司与产品团队

希望在自有应用中加入签名功能,并在几天而非几个月内完成的团队。

政企系统集成商

在电子公文往来、文档管理系统(EBYS)和文档流转中需要签名与验证的项目。

金融与保险

需要大批量签名、通过 HSM 管理密钥以及完整验证链的业务流程。

电子单据与发票解决方案

用 XAdES 签署基于 XML 的文档,并将其提升到归档级别。

常见问题

什么是 PAdES 签名?

PAdES(PDF Advanced Electronic Signatures)是一种将签名嵌入 PDF 文件内部的电子签名格式,由 ETSI EN 319 142 标准定义。签署后的文档仍是 PDF,可在 Adobe Reader 等 PDF 阅读器的签名面板中验证,并可在页面上显示可见的签名域。其级别依次为 B-B、B-T(带时间戳)、B-LT 和 B-LTA(长期归档)。

什么是 CAdES 签名?

CAdES(CMS Advanced Electronic Signatures)是一种基于 CMS/PKCS#7 结构的电子签名格式,由 ETSI EN 319 122 标准定义。它可以签署任何类型的文件;签名通常以 .p7s 形式或放在已签名的封装中随文档传递。在土耳其,它是电子签名公文中最常用的格式。

什么是 XAdES 签名?

XAdES(XML Advanced Electronic Signatures)是专为 XML 文档开发的电子签名格式,由 ETSI EN 319 132 标准定义。签名可以嵌入 XML 中,也可以单独存放。它用于 UBL-TR 格式电子发票等基于 XML 的文档。

什么是电子签名库?

电子签名库是一种开发者组件(SDK),可将电子签名的创建和验证功能嵌入您自己的软件。现成的签名应用会向用户提供界面;而签名库是没有界面的构建模块——由您的应用在您的业务流程中完成签名。它可配合智能卡、USB Key 或 HSM 使用,生成并验证 CAdES、XAdES 和 PAdES 格式。

什么是 e-Yazışma 包?

e-Yazışma 包是与土耳其公共机构进行正式电子公文往来时使用的标准包:已签名的文档、元数据文件以及附件(如有)被打包为一个包。机构之间通常通过 KEP(注册电子邮件)传送。

如何创建 e-Yazışma 包?

正式的 e-Yazışma 包由元数据文件和已签名文档一起打包而成。签名库只需一次调用即可完成:用 CAdES 或 XAdES 签署文档,生成符合架构的元数据,并封装成包。支持 e-Yazışma 1.3 和 2.0 版本,并内置 KamuSM 根证书。指定文件夹后,可批量签署其中的文档。

电子签名库与现成应用有什么区别?

签名库嵌入您自己的软件:由您的业务流程触发签名,界面也属于您。现成应用(İmzacı)在桌面端运行:由用户选择文件并签名。两者使用同一套签名基础设施;哪种适合您,取决于由谁发起签名——您的软件还是用户。

支持哪些签名标准?

CAdES(BES、EPES、T、C、X、XL、A)、XAdES(BES、T、C、X、XL、A)、PAdES(B-B、B-T、B-LT、B-LTA)以及 ASiC-S 和 ASiC-E。一个库即可达到长期归档级别。

我只签署 PDF,需要全部安装吗?

不需要。该库是模块化的;PDF 只需 eSignature.PAdES 包。您不使用的标准、TSA 和硬件服务商根本不会进入项目。

如何在 Web 应用中签署 PDF?

签名不是在浏览器中生成,而是在 Web 应用的服务器端生成:调用 eSignature.PAdES 包,将签好的 PDF 返回给用户。关键在于密钥存放在哪里——使用云 HSM、网络 HSM 或手机签名时,服务器可以访问密钥,整个流程都可在 Web 上完成。如果密钥在用户的智能卡上,浏览器无法访问该卡;这种情况下需在桌面端用 İmzacı 签名。

如果密钥不在智能卡上,而在 HSM 或云端,也能用吗?

可以。签名来源已被抽象化:智能卡和 USB Key(CNG/PKCS#11)、网络 HSM、云 HSM 服务和手机签名都使用同一流程。每个服务商都是独立的包。

它也能验证签名吗?

能。按 RFC 5280 进行证书链验证、CRL、OCSP、Delta CRL 和离线验证都包含在库中;签名的生成和验证由同一组件完成。

有面向希望在桌面端签名的用户的产品吗?

有。无需编写代码即可使用的桌面应用是 İmzacı:用智能卡签署 PDF 和 XML,创建 e-Yazışma 包,并按文件夹批量签名。

为 .NET 或 Java 项目添加电子签名最快的方法是什么?

将所需标准的包添加到项目中:PDF 签名用 eSignature.PAdES,XML 用 XAdES 包。由于该库拆分为 39 个 NuGet 包,您只需安装用到的部分,项目中不会引入单个庞大的依赖。

支持哪些智能卡和 USB Key?

通过 Windows CNG 和 PKCS#11 支持 AKİS、SafeNet/eToken、Gemalto/Thales、IDEMIA、Feitian、YubiKey、Nitrokey 等设备。每个服务商都是独立的包;您不使用的驱动不会进入项目。

能否在服务器端用 HSM 签名?

能。支持 Thales Luna、Utimaco 和 Entrust nShield 网络 HSM,以及 AWS CloudHSM/KMS、Azure Key Vault HSM 和 Google Cloud KMS。这样即可在服务器上搭建自动签名流程,无需用户手持卡片。

验证签名需要单独的库吗?

不需要;签名的生成和验证由同一组件完成。按 RFC 5280 进行证书链验证、CRL、OCSP、Delta CRL 和离线验证都包含在库中。

eSignature 授权多少钱?

SDK 授权按项目范围确定:所用签名标准、USB Key/HSM 服务商以及开发者或部署数量决定价格。

价格由什么决定?

  • 将使用的签名标准(CAdES、XAdES、PAdES、ASiC)
  • 智能卡 / USB Key,还是网络或云 HSM
  • 开发者数量与分发方式
  • 时间戳服务商数量
  • 支持与版本更新的范围

我们会在 24 小时内以书面形式逐项发送报价。

相关页面

聊聊集成方案

哪种标准、哪种签名硬件、多大规模?让我们一起确定授权模式和集成计划。

SDK 授权 / 获取信息

Part of the eSignature family.