跳转到主要内容
每个电子签名步骤都会为每位签署人生成一项结果。您可以在以下位置的 signatures[] 数组项中找到该结果: 仅当工作流包含电子签名步骤时,signatures 才会包含在决策中。在签署人进入该步骤之前,它是一个空数组。KYC 步骤包含一个项;KYB 步骤中每位签署人对应一个项。

示例

签名对象

在 status 变为 signed 之前,切勿将签署人视为已签署。在高级电子签名(AES)中,若证书、时间戳或 signed_file 为 null,则表示尚未完成签名。已签署的简单签名包含 signed_file,但证书和时间戳始终为 null。

签署人

文件

字段

documents[].fields[] 的每一项代表文档的一个字段,包含其在此签署人副本上的值:

下载已签署文档

将 signed_file 和 evidence_file 中的路径与您的 API 密钥结合使用。每个路由都会直接返回 PDF 本身。
在返回响应之前,Didit 会根据记录的 SHA-256 检查存储的文件。如果不一致,已签署 PDF 和证据路由将返回 409,图像路由将返回 400,且均包含 signature_document_changed。当 KYB 步骤有多个签署人时,调用证据路由请务必传入 signature_id。

已签署 PDF

已签署 PDF 按顺序包含以下内容:
  1. 向签署人展示的文档页面,每个字段值都已印在您放置的位置。
  2. 证据页,除非您关闭了 signature_evidence_page。
  3. 仅限高级(AES):PAdES 签名,附带 Didit 签发的 RFC 3161 时间戳以及未来验证该签名所需的吊销数据。简单 PDF 在证据页后结束,不包含数字签名、印章或时间戳。
在高级(AES)PDF 上,签名覆盖其前面的每一个字节,包括字段值和证据页。之后对文件的任何更改都会使其失效,任何支持 PAdES 的验证工具都会显示这一点。签名的详细信息注明了签署人姓名,并引用了其已验证的用户验证会话和验证码确认。 字段值会成为页面内容的一部分,而不是表单字段,因此之后无法被编辑,并且每个 PDF 查看器都可以显示它们。勾选的复选框会显示对勾,未勾选的则保留文档原本绘制的样式。高于 24 磅的签名框还会在签名下方显示一行小说明:Signed with Didit ·,后接签名 id 的前 8 个字符。 Didit 会在向签署人展示的文档字节之后追加字段值、证据页和签名。该展示文档是已签署文件的精确前缀,因此仍然可以针对已签署 PDF 校验 sha256_original。

证据 PDF

证据 PDF 会记录单个签署人的以下信息:
  • 等级和格式。
  • 签署人姓名、其签署身份,对于 KYB 还包括企业名称。
  • 已验证的身份证件会话(仅限高级 (AES))。
  • 确认信息:渠道、脱敏后的目的地和时间(仅限高级 (AES))。
  • 签署人的地址。
  • 每个文档:标题、页数和原始文件的 SHA-256。对于 Word 文档,还包含 Word 文件的名称和 SHA-256、转换器版本以及 PDF 的 SHA-256。
  • 采用的签名:键入(附带其手写风格)或绘制、采用的时间,以及签名和首字母签名的图像。
  • 每个字段(按文档划分):其标签、页面和类型、其值(签名或首字母签名则为图像)、值的来源(例如 由签署人键入、已验证的身份证件 或 您的 API)、填充时间 (UTC),以及对于签署人键入的值,记录其当时的地址。
  • 最终同意:签署人在审核屏幕上同意的文本,以及同意的时间。
  • 每个已签署文件的 SHA-256,对于高级(AES),还包括证书(颁发给、颁发者、序列号和有效期)以及时间戳。
附加到每个已签署 PDF 末尾的页面包含相同的内容(不含证书部分),因为该页面是在应用签名之前添加的。

重新验证签名

POST /v3/session/{session_id}/signatures/{node_id}/validate/ 会重新读取该步骤的每个已签署 PDF 并检查其 SHA-256。对于高级(AES)签名,它还会验证 PAdES 签名、其证书、吊销数据和时间戳。简单签名没有数字签名,因此仅核验文件的完整性。它将结果保存在 validation 中并返回更新后的 signatures[]。发送 signature_id 可核验单个签署人。此接口需要 write:sessions 权限,在控制台中对应重新验证按钮。如果存储的已签署 PDF 与其 sha256_signed 不再匹配,则返回 400 及 signature_document_changed。 在文件完成签署之前,validation 为 null。如果 Didit 无法确认签署结果,validation 为 { "valid": null, "reason": "signature_provider_outcome_unknown", "checked_at" },并且 status 会保持为 signing 直至问题解决:请将其视为未签署。

在 PDF 报告中

PDF 报告会打印签名部分,包含签署人、确认信息、证书、时间戳以及带有哈希值的文件。当文件包含字段时,紧随其后的是电子签名 · 字段页面,每个文件对应一个表格:包含每个字段的值、签名和姓名首字母图像、时间以及来源。签名部分在 KYC 报告中位于银行验证之后,在 KYB 报告中位于文件之后。传递 pages=signature 可仅打印该部分。

相关内容

最后修改于 2026年11月7日