ARC 校验器
邮件经邮件列表、转发服务(如 Gmail 自动转发)等中继后,SPF 与 DMARC 认证可能失效。ARC(Authenticated Received Chain,RFC 8617)通过每跳签名与密封保留原始认证结果。本工具粘贴邮件原始头即可校验 ARC 链:i= 实例连续性、cv= 状态机、签名公钥与链完整性,判断邮件认证结果是否可信。
如何获取邮件原始头:Gmail → 邮件菜单「显示原始内容」;Outlook → 「查看 → 查看消息来源」。粘贴后点击校验,签名公钥通过 DoH 从 DNS 获取(RFC 8484)。
ARC 链结构说明
ARC 链由若干「跳」(instance)组成,每跳包含三个头字段:
| 头字段 | 作用 | 关键参数 |
| ARC-Authentication-Results (AAR) | 记录本跳对邮件的 SPF/DKIM/DMARC 认证结果 | i= 实例号 |
| ARC-Message-Signature (AMS) | 对本跳之前完整邮件内容的签名 | d= 域名、s= 选择器、b= 签名、bh= 正文哈希 |
| ARC-Seal (AS) | 密封整条链(含本跳及之前所有 ARC 头) | cv= 链验证状态(none/pass/fail) |
RFC 8617 §4.1.2:cv=none 表示该跳未验证;cv=pass 表示链验证通过;cv=fail 表示链验证失败。接收方应优先信任 cv=pass 的 AAR 结果。
校验逻辑说明
① 提取全部 ARC-* 头字段并按 i= 分组配对;② 校验 i= 从 1 起连续递增、每跳三件套齐全;③ 解析 AMS 的 d=/s=/b=/bh=/a=,通过 DoH 查询 s._domainkey.d 获取公钥;④ 对支持算法的签名尽力验签(RSA-SHA256,WebCrypto);⑤ 汇总 cv= 状态机输出链有效性结论。浏览器不支持 Ed25519 时给出提示(RFC 8463)。
技术标准依据
本工具基于以下 IETF 标准实现:
- RFC 8617(The Authenticated Received Chain (ARC) Protocol)
- RFC 6376(DomainKeys Identified Mail)— AMS 签名语法基于 DKIM
- RFC 8463(Ed25519-SHA256)— 新型签名算法
- RFC 8484(DNS Queries over HTTPS)— 公钥获取
- RFC 1035(DNS 协议)
