跳到主要内容
ecdsa.com

DKIM 规范化

simple 和 relaxed 两种算法(RFC 6376 §3.4),用于在计算 DKIM 哈希之前规范化邮件的头部和正文;头部和正文可通过 c= 标签分别选择算法。
其他写法DKIM simple canonicalizationDKIM relaxed canonicalizationc=relaxed/relaxed

simple 头部规范化不做任何改动;relaxed 会把头部名称转为小写、展开续行、把连续空白压缩为一个空格,并删除行尾和冒号两侧的空白。simple 正文规范化只删除末尾的空行(空正文会变成一个 CRLF);relaxed 还会忽略每行末尾的空白,并压缩连续空白。默认值是 simple/simple;大多数签名者使用 c=relaxed/relaxed。

正文哈希不匹配(body hash did not verify)通常意味着签名后有某个环节改写了正文:添加页脚、转换换行符、重新编码 quoted-printable 或 base64 部分,或者自动折行。头部签名验证失败常常是因为网关对头部重新排序或重新折行,relaxed 能容忍这些改动,simple 则不能。DKIM 调试器会显示它计算哈希时所用的规范化后字节。

标准与参考资料

全部术语