Chaindoc logoChaindoc

Last updated: April 28, 2026

电子签名

Chaindoc 生成 PAdES 高级电子签名(直接嵌入 PDF 内部的加密签名)并添加独立的区块链锚定完整性证明。此页面涵盖签名工作流程、签名者看到的内容、合规性、审核跟踪以及任何人如何验证签名的文档。

如果您是 Chaindoc 新手,快速入门指南 将引导您完成发送 第一个 签名请求。有关完整的 API 参考,请参阅 API 文档。如需了解更多信息,请参阅 eIDAS(欧盟)第 910/2014 号法规

Chaindoc 签名如何工作

每个Chaindoc签名都是PAdES-BES(PDF高级电子签名,基线-B)。欧洲电子签名平台使用相同的标准nda。每个签名都是嵌入在 PDF 内的加密 PKCS#7/CMS 容器,与 Chaindoc 证书颁发机构颁发的专用每用户证书绑定。最重要的是,签名文档的哈希值锚定在区块链上,为您提供第二个可公开验证的完整性通道。如需了解更多信息,请参阅 ESIGN 2000 年法案

您在签名的 PDF 中得到什么

  • 加密签名 (ECDSA P-256),标准ndaPDF阅读器将为每个签名者显示为“已签名且所有签名均有效”
  • 由 Chaindoc 的 CA 颁发的签名者证书,链接到签名者经过验证的电子邮件
  • 签名字典中嵌入的签名时间和原因/位置元数据
  • 文档哈希锚定在链上,交易哈希存储在完成证书中

遵守法律

由于每个签名都是 PAdES 并具有专用的每个签名者证书,因此它满足 eIDAS(欧盟法规 910/2014)第 26 条下的 高级电子签名 的四个标准:请参阅PAdES标准nda标准 (ETSI EN 319 142) 了解更多信息。

  • 唯一链接到签名者:ECDSA 密钥对属于单个用户。
  • 能够识别签名者:X.509 证书将密钥绑定到签名者经过验证的电子邮件。
  • 在签名者的单独控制下创建:私钥静态加密,仅针对该用户的签名操作发布。
  • 链接到签名数据,因此可以检测到篡改:任何字节级修改都会使 PAdES 签名无效。

认可下

  • eIDAS:电子识别和信任服务(欧盟)。 Chaindoc 签名符合第 26 条规定的高级电子签名。
  • ESIGN 法案:全球和国家商务中的电子签名(美国)。
  • UETA:统一电子交易法(美国,大多数州采用)。
  • PIPEDA:个人信息保护和电子文件法(加拿大)。
  • 电子交易法(澳大利亚)。
  • 信息技术法(印度)。

签名工作流程

创建签名请求

实际上,您可以通过仪表板API创建请求。无论哪种方式,步骤都是相同的:

  1. 实际上,上传文档(PDF、Office 格式或图像。当前上传 API 最多 250 MB)。
  2. 通过电子邮件添加签名者。
  3. 可以选择在特定页面上预先放置签名字段(请参阅下面的字段类型)。
  4. 设置截止日期和可选消息。
  5. 实际上,选择流程是嵌入的(应用程序内的 iframe)还是基于电子邮件链接。
  6. 发送。

来自服务器 SDK:`chaindoc.signatures.createRequest(...)`。请参阅 API 文档 → 签名 了解完整的请求正文。

签名字段类型

实际上,当在 PDF(create-signature-request 调用中可选的 `fields` 数组)上预先放置字段时,支持以下字段类型:

  • `signature`:签名者的可见电子签名字形。无论您是否放置可见字段,加密 PAdES 签名始终附加到文档。
  • `initials`:用于起始页或子句。
  • `date_signed`:自动填充签名时间戳。
  • `text`:自由格式文本(名称、标题、评论)。
  • `checkbox`:同意或确认。

字段使用基于百分比的放置(与分辨率无关),并通过电子邮件绑定到特定签名者。有关 `PlacedFieldDto` 的确切形状,请参阅 API 参考。

签署订单

签名请求是并行的:每个签名者同时收到邀请,并且可以独立完成签名。所有签名者签名后,请求即完成。不支持顺序签名和条件签名。

提醒事项

如果签名请求有截止日期,Chaindoc 会在截止日期前的7 天、3 天和 1 天自动向尚未签名的签名者发送提醒电子邮件。时间表是固定的。今天没有按请求覆盖。

签名者看到什么

签约流程

1电子邮件邀请签名者会收到一封带有安全链接的电子邮件。不需要 Chaindoc 帐户。

2电子邮件一次性密码实际上,单击链接后,签名者会输入发送到其电子邮件的一次性代码。这会在他们查看文档之前验证对地址的控制。

3文件审查文档打开时会突出显示任何预先放置的字段,准确显示签名、缩写或填写信息的位置。

4签名并确认签名者在画布上绘制签名,上传手写签名的图像,或重复使用之前 Chaindoc 会话中保存的签名。他们填写所有必填字段并确认。后端使用签名者的 ECDSA 密钥生成 PAdES 签名的 PDF 并将该事件记录在审计跟踪中。

5已交付签名副本每个签名者完成后,所有各方都会收到 PAdES 签名的 PDF 以及完成证书。 PDF 将在任何 standard PDF 阅读器中显示“已签名且所有签名均有效”。

签名者如何生成签名

实际上,可见签名字形的三种方法。无论您选择哪种方法,加密签名都会以相同的方式发生:

  • 使用鼠标、触控板或触摸屏进行绘图。
  • 上传手写签名的图像。
  • 重复使用先前会话中保存的签名。

区块链验证

与 PDF 内的 PAdES 签名分开,Chaindoc 将签名文档版本的哈希值写入区块链。这是一个独立的、永久的记录(任何人,包括Chaindoc,都不能在事后更改或删除它),并且它为您提供了第二个通道来检测篡改,即使PDF的签名层被剥离或损坏。

链上记录了什么

  • 签名文档版本的加密哈希。
  • 锚定事件的唯一交易哈希 (`txHash`)。
  • 链 ID,以便验证者知道要查询哪个网络。
  • 交易的时间戳。

如何验证已签署的文件

有两条独立的路径,并且两条路径应该一致:

  • 任何PDF阅读器。 在Adobe Acrobat、Preview、Foxit等中打开已签名的PDF。阅读器将显示“已签名且所有签名均有效”,并显示每个签名者的证书详细信息。这将验证 PAdES 签名。
  • 通过 chaindoc.io/verify-document 进行区块链检查。 上传文件。 Chaindoc 重新哈希它,查询链上记录,并显示完整性状态、签名时间戳和签名者详细信息。

实际上,程序化的区块链验证也可以通过Server SDK中的`POST /api/v1/documents/verify`和`chaindoc.documents.verify()`来实现。当您想从自己的后端而不是公共门户重新检查完整性时很有用。

审计追踪

每个签名事件都会生成一个记录,其中包含您在签名存在争议时向法院或审计员提交的字段:

  • 请求创建。谁、何时、向哪些收件人发送了请求。
  • 每个签名者的签名时间戳(毫秒精度,UTC)。
  • 签名者 IP 地址和用户代理字符串(在签名时捕获)。
  • 每个签名者的电子邮件 OTP 验证时间戳。
  • 拒绝事件。时间戳、原因(最多 500 个字符)和签名者身份。
  • PAdES 签名元数据。证书序列号、颁发者、签名时间。
  • 区块链锚定。交易哈希和链 ID。

结业证书

所有各方签署后自动生成为 PDF。它捆绑了:

  • 文档标题和版本标识符。
  • 所有各方、他们的电子邮件地址以及他们的行为。
  • 签署时间表。
  • 签名图像/键入的名称。
  • 区块链交易哈希和链 ID。
  • 引用已签名的PDF 内的PAdES 签名。

取消和拒绝

发件人:取消请求

您可以在完成之前取消任何待处理的签名请求。请求变为 `cancelled` 状态,并且所有签名者都会收到通知。这会记录在审计跟踪中并且无法撤消。如果您需要再次发送相同的文档,请创建新的请求。

签字人:拒绝

实际上,签名者可以拒绝而不是签名并添加原因(最多 500 个字符)。请求转换为已取消/拒绝状态,并带有签名者电子邮件、原因、时间戳和文档标识符的 Chaindoc emit s `signature.request.rejected`。

最佳实践

  • 使用清晰的文档标题。 `Consulting Agreement 2026-04` 击败 `Contract_v3_final_FINAL.pdf`。
  • 上传前压缩较大的PDF。 API 接受最大 250 MB 的文件,但较小的文件对于签名者来说渲染速度更快。
  • 将签名字段放置在签名者自然期望的位置(页面底部,打印姓名行旁边)。
  • 清楚地标记字段(`Client signature`、`Manager approval`)而不仅仅是`Signature 1`。
  • 实际上,在发送给真正的收件人之前,请根据您自己的测试电子邮件地址测试签名流程。
  • 设定一个现实的截止日期。大多数合同的典型期限为 7 至 30 天。
  • 分发最终的PDF时,保持其完整。通过不合规的 PDF 工具重新保存可能会剥离或破坏 PAdES 签名层(区块链锚点仍然有效,但您会失去 PDF 读取器验证)。

故障排除

签名者没有收到电子邮件

实际上,要求签名者检查垃圾邮件和促销文件夹 第一个。公司过滤器有时会阻止签名链接。将 `chaindoc.io` 添加到允许列表可以解决此问题。如果地址错误,您可以取消请求并重新发送至正确的地址。

签名链接已过期

一旦截止日期过去,请求就会移至`expired`。为同一文档版本创建新的签名请求以重新启动流程。

无法在移动设备上绘制签名

确保浏览器允许在画布区域上进行触摸输入。如果仍然不配合,签名者可以继续输入或上传图像。所有三种方法都会在底层产生相同的 PAdES 签名。

PDF 阅读器显示“签名无效”

通常意味着文件在签名后被修改。通过有损工具保存、重新压缩或 OCR 处理。区块链锚仍然可以让您证明原件是由 Chaindoc 签名的;将文件上传到 chaindoc.io/verify-document 以查看最后的链上状态。为了妥善保管,请务必存档交付时的PDF。

对于 API 特定问题,请参阅 API 文档。对于 Webhook 传递问题,webhooks 指南 涵盖了重试和调试。

Chaindoc签名具有法律约束力吗?

是的。 Chaindoc 签名符合 ESIGN 法案、UETA 和 eIDAS 法规。每个签名都包含审计跟踪、时间戳和防篡改印章。

什么是PAdES合规性?

PAdES(PDF高级电子签名)是一项欧盟标准nda,将签名数据直接嵌入到PDF中。 Chaindoc 支持 PAdES-B-LT 和 PAdES-B-LTA 级别进行长期验证。

我可以在手机上签署文件吗?

是的。签名者可以在 iOS、Android 和移动浏览器上打开签名链接,而无需安装应用程序。该界面适应较小的屏幕。

身份验证如何进行?

Chaindoc 提供电子邮件、短信和基于 KYC 的身份验证。验证级别取决于您的计划和您所在管辖区的合规性要求。

如果签名者拒绝会发生什么?

文件状态更改为拒绝。发件人会收到通知,如果签名者提供了通知,则可以查看原因。该文档保留在您的帐户中以供记录保存。

我可以在一份文档中添加多个签名者吗?

事实上,是的。您可以定义签名顺序(顺序)或允许每个人立即签名(并行)。每个签名者都会收到自己的电子邮件通知。