逐条检查供应证书的签名连接
读取完整供应 PEM,对所有精确名称 RSA-SHA256 候选真实验签,保留缺失、歧义及循环连接证据。
先固定供应连接问题
一位用户拿着根、签发、中间及服务器证书,希望在捆绑顺序影响结果后逐层检查全部连接。T314 把每个供应公钥候选的验签结果列出来,完成有界连接与顺序任务;它不复制可信 OpenSSL 验证结论。
选择 1–20 份仅含证书的 UTF-8 PEM 原件,可含开头 UTF-8 BOM 和 PEM 空白。不要混入私钥、CMS 或块外说明文字;证书 URL、未知扩展字节仅作为惰性数据,本地读取不抓取这些地址。
- 保留原文件;报告带原文件名、大小和 SHA256。
- 每个原始证书都先解析并计数,再按完整 DER 去重。
明确实际检查哪些候选
候选必须满足原 issuer、subject DER 字节精确相同。对每个候选真实执行 RSA PKCS#1 v1.5 SHA256 核验,包含自签和失败候选;不同 DER 的相似名称不会被悄悄判为等价。
首版支持严格 X.509 v3 DER、2048–8192 位奇数 RSA 模数、3–4294967295 范围奇数指数、规范 NULL 算法参数、精确 UTC/Generalized 日期和四种明确名称字符串。未知算法、名称类型、唯一 ID 或非法编码拒绝整批。结构符合模式但签名错误的证书仍进入完整报告,其边标为 false。
| 发现 | 已确立的事实 | 仍未验证 |
|---|---|---|
| signatureValid=true | 供应 RSA 公钥能核验这些原始签名字节 | 信任、身份、日期、策略 |
| ca/pathLength | BasicConstraints 声明值 | 用途及约束执行 |
| 没有通过的精确 DER 颁发者 | 按此规则没有供应候选通过 | 其他名称等价或外部缺失颁发者 |
| 唯一供应顺序 | 一个非 CA 叶,每步一个通过 CA 父 | 服务器 TLS fullchain 部署策略 |
核对完整示例
受控输入有五块:叶、根、中间、重复根,以及同名不同公钥的另一中间证书。五份原始证书占 207 次 DER 节点访问,四份唯一证书产生五个真实验签候选。错误公钥对应的叶候选失败,其余四个候选通过。
唯一叶路径为 [0,2,1]。顺序下载保留叶、中间和供应自签端点的原 DER;80 位叶序列号 1208925819614629174706181 为精确十进制字符串。若另一个同公钥父证书也通过,则产生歧义;真实交叉签名循环会保留为循环,不生成猜测顺序。
下载完整核验轨迹
certificate-links.json 保留每份原件及重复映射、原 DER、全部名称属性、声明日期、精确序列号、扩展、ASN.1 跨度与清单和所有真假候选。未知关键扩展保留原字节并明确未解释。certificates.csv 覆盖每份唯一证书,signature-links.csv 覆盖每个候选;只有规则允许的路径才增加 ordered-supplied-certificates.pem。
CSV 对公式起始单元格加保护,JSON 保留准确字面值。表格显示全部唯一证书,但每格只预览 2,000 个 UTF-16 单元;复制的是带标签摘要。长字段及全部签名边应看下载,而不是把预览当成完整报告。
- 记录声明的 notBefore、notAfter,不检查当前时钟。
- 保留供应端点,不自动提升为可信锚。
同时遵守预算并恢复
原文件及证书工作量在去重前计入。正确输入也可能产生超预算完整报告,此时拒绝全部输出。实际原生证明覆盖独立可达上限、首超限、真实 10 MiB 输出,以及取消签名后同原件恢复;原生证明不能替代浏览器交互验收。
单份 2 MiB 由合计 2 MiB 支配。最多 100 个唯一证书自然限定 10,000 个候选对:10,000 可达,第 101 个原始证书在更大分配前被拒绝。支持模式最大深度 6,深度 64 的额外构造嵌套扫描后明确拒绝,65 触发保护,不把二者当成合法支持容量。
| 维度 | 公开上限 |
|---|---|
| 选定原件 | 1–20;合计 ≤ 2 MiB;单份 ≤ 2 MiB |
| 原始块 / DER 节点访问 | 去重前 100 / 10,000 |
| 候选对 / 原文件名 | 10,000 / 512 UTF-16 单元 |
| 完整 JSON、CSV、可选 PEM | 合计 ≤ 10 MiB,无部分成功 |
| 取消 | 新 Worker 用相同原件恢复 |
参考资料
- User task: check all links in a supplied bundle
Original author body and follow-up read on 2026-10-07. Layer-by-layer connection inspection matches; original OpenSSL/trust/server validation is a remaining gap.
- User task: Root / Intermediate / User certificates
Original question and first-party follow-up context read on 2026-10-07. Missing supplied issuer inspection is supported; the requested trusted-root validation is not replaced with a signature-link pass.
- RFC 5280: certificate fields, Name comparison and path validation
Sections 4.1, 6 and 7.1 read on 2026-10-07. This primary format reference establishes the distinction from full path/trust validation; it is not counted as user demand.
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
检查供应证书的签名连接真实核验本地 PEM 中每条精确名称匹配的 RSA-SHA256 连接,保留完整证据,仅排序唯一连接的供应链。
选择只含公钥证书的 PEM 文件,逐份读取证书,并对每个颁发者、主体 DER 精确匹配的候选真实核验 RSA-SHA256 签名。查看缺父证书、多父歧义、失败签名和循环;只有符合明确连接规则时才下载唯一供应顺序。
操作步骤
- 选择只含公钥证书的 PEM 捆绑并保留原件;私钥不在此任务范围。
- 检查原始与去重数量、声明日期、所有候选验签结果、叶路径状态及循环。
- 下载完整 JSON 与两份 CSV;存在唯一供应路径时,再核对顺序 PEM 和保留的 DER。
- 在独立且正确配置的验证流程中处理信任与部署决策,此处输出不能确立它们。
能力与限制
- 1–20 份原始 UTF-8 PEM,可含开头 UTF-8 BOM;每份 ≤ 2 MiB,合计 ≤ 2 MiB;原文件名 ≤ 512 个 UTF-16 单元。文件名后缀不决定格式,原始 PEM、DER 内容须通过严格检查。单文件上限由总量上限支配,不是另一项独立容量。
- 全批最多 100 个原始证书块、10,000 次 DER 节点访问,在去重之前计入。工作量包含原证书、内嵌 RSA 公钥及 BasicConstraints。重复证书保留每份来源与块位置映射,仍占用工作预算;保留全部原件 SHA256 与完整证书 DER。
- 仅支持严格 X.509 v3 DER:RSA 2048–8192 位,奇数模数和 3–4294967295 范围的奇数指数,RSA PKCS#1 v1.5 SHA256 与规范 NULL 参数。UTC、Generalized 时间须为精确 UTC 语法及真实日历日期。名称属性支持 UTF8String、PrintableString、IA5String、BMPString。未知算法或名称字符串类型、唯一 ID、非法 DER、私钥块及非证书材料会拒绝整批。
- 对所有 issuer DER 与 subject DER 精确相同的候选真实验签,保留失败及自签候选。最多 10,000 对,由最多 100 个唯一证书支配;10,000 可达,10,001 不可能同时满足原始数量上限。精确 DER 之外的名称等价未验证。
- 完整 JSON、全部证书 CSV、全部签名边 CSV 及可选顺序 PEM 合计 ≤ 10 MiB,不返回截断成功。JSON 保留全部名称属性、精确十进制序列号、声明日期、ASN.1 跨度与节点清单、原始扩展、重复映射及每条真假连接。CSV 保护公式起始单元格,JSON 保留原字面值。
- 预览显示全部唯一证书(最多 100 项),每格最多 2,000 个 UTF-16 单元;复制内容为带标签摘要,完整字段、签名边和原 DER 见下载。DER 深度 64 是分配保护:支持模式最大深度 6;深度 64 的额外嵌套模式明确拒绝,65 触发保护,并不承诺它们是合法支持容量。
- 排序须只有一个非 CA 叶证书,每步只有一个真实验签通过的 CA 父证书,终点是无其他通过 CA 父证书的供应自签端点。PEM 包含该端点并保留 DER 字节;缺失、歧义或循环不猜顺序,不声明可直接部署的服务器 fullchain。
- 不检查系统信任、完整 PKIX、当前日期有效性、主机名、密钥用途、pathLength 约束、未知关键扩展语义或吊销。BasicConstraints 的 CA、pathLength 仅为声明值;不抓取证书、不导航、不执行脚本、不使用私钥。