电子签名
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创建请求。无论哪种方式,步骤都是相同的:
- 实际上,上传文档(PDF、Office 格式或图像。当前上传 API 最多 250 MB)。
- 通过电子邮件添加签名者。
- 可以选择在特定页面上预先放置签名字段(请参阅下面的字段类型)。
- 设置截止日期和可选消息。
- 实际上,选择流程是嵌入的(应用程序内的 iframe)还是基于电子邮件链接。
- 发送。
来自服务器 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 的身份验证。验证级别取决于您的计划和您所在管辖区的合规性要求。
如果签名者拒绝会发生什么?▼
文件状态更改为拒绝。发件人会收到通知,如果签名者提供了通知,则可以查看原因。该文档保留在您的帐户中以供记录保存。
我可以在一份文档中添加多个签名者吗?▼
事实上,是的。您可以定义签名顺序(顺序)或允许每个人立即签名(并行)。每个签名者都会收到自己的电子邮件通知。