跳到主要内容
PPDF123

验证 PDF 的数字签名

验证 PDF 签名读取 PDF 中的数字签名,并以 JSON 列表报告 OpenSSL 的检查结果。它不会改动文件;没有信任锚时,无法确认签署者的证书链是否可信。

把文件拖到这里,或点击选择

支持 PDF · 单个文件不超过 500.0 MB · 一次最多 20 个文件

也可以按 Ctrl/Cmd+V 或从剪贴板菜单粘贴文件。

验证 PDF 签名遍历签名字典,并用 OpenSSL(`smime` / `cms` / `dgst` / `verify`)查看 CMS 和 RFC 3161 时间戳。下载是 JSON 数组(`resultKind: json`),不是改过的 PDF。

没有 `certFile` 信任锚时,`chainValidationError` 为 `No trust anchors available`。`revocationChecked` 恒为 false。`notExpired` 是占位的 false,不是算出来的过期标志。

这不是法庭鉴定报告。链信任需要你通过接口提供锚。网站表单没有证书上传。

文档信息的 `IsSigned` 与此无关,且恒为 false。

上传是临时的。我们不会保存你的 PDF 文库。

功能

  • 来自 OpenSSL CMS/时间戳检查的 JSON 数组
  • 网站没有证书上传;链验证于是报告没有锚
  • revocationChecked 和 notExpired 不是真正的检查
  • 匿名 API:/api/v1/security/validate-signature

适用场景

  • 看 CMS verify 是否接受内嵌签名字节
  • 在展平 PDF 前检查 coversEntireDocument
  • 你有锚时用接口传 certFile

如何检查 PDF 的数字签名?

  1. 上传可能含签名字典的 PDF。
  2. 点击处理,下载 JSON。
  3. 逐条看 valid、coversEntireDocument 和 errorMessage。
  4. 除非你用接口传了 certFile,否则不要把 chainValid 当成 true。

限制与边界

  • 网站无法提供信任锚
  • 没有 OCSP/CRL
  • notExpired 不是真正的时钟检查
  • 本网站的上传上限:每个文件 500 MB,超过约 95 MB 时分块上传。直接调用 API 时,单个请求体上限为 100 MB。

示例

  • 未签名 PDF 得到空 JSON 数组
  • 已签名但没有 certFile 的 PDF 仍报告关于锚的 chainValidationError

本工具的隐私说明

文件经 HTTPS 上传,在服务器内存或短期临时目录中处理,结果就绪后即删除。我们不会为日后浏览、训练或广告画像保留副本。留存期限与 AdSense Cookie 说明见隐私政策。

常见问题

为什么链验证是错误?
网站不发送 certFile。操作于是没有信任锚。
会改 PDF 吗?
不会。只报告。
检查吊销了吗?
没有。revocationChecked 恒为 false。
能代替 Adobe 的校验器吗?
不能。把它当成粗糙的 OpenSSL 导出,再在你信任的、符合法律场景的工具里验证。

最后更新:

用代码调用

本站每个工具都是普通 REST 接口。匿名使用不需要账号或 API Key,给浏览器、开发者和智能体同样可用。

curl -X POST "https://pdf123.xyz/api/v1/security/validate-signature" \
  -F "[email protected]"

也提供 MCP 工具,供说 Model Context Protocol 的客户端调用(JSON-RPC 2.0,POST /mcp)。 完整 API 文档

在 AI 代理中使用

Skill

装上这个 Skill,Claude Code、Codex、Cursor 等 AI 代理就能替你完成「验证 PDF 签名」: /skills/pdf123-validate-signature.md

全部 Agent Skill

文件只用于本次处理,完成后自动删除。