Перейти к содержимому
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 или перенесли длинные строки. Ошибки проверки подписи заголовков часто возникают из-за того, что шлюзы меняют порядок заголовков или заново их переносят (re-folding); relaxed это допускает, а simple — нет. Отладчик DKIM показывает канонизированные байты, которые он хешировал.

Стандарты и ссылки

Все термины