Как сгенерировать подпись DomainKeys (не DKIM)?
Я использую DKIM для JavaMail для подписи исходящих писем с помощью DKIM. Теперь я хотел бы добавить DomainKey-Signature
, Из чтения документации, спецификаций и других связанных постов я узнал, что процесс подписания практически идентичен (используется тот же алгоритм, записи DNS и т. Д.). Разница лишь в том, что DKIM предлагает больше возможностей, например, при выборе полей для подписи. Это позволяет легко выбирать поля подписи (например, From, Subject) и генерировать правильные значения хеша.
Для DomainKeys я не мог понять, какие почтовые части нужно хэшировать. Я читаю документы, но неясно, стоит ли хэшировать только тело или весь исходный код. На другом сайте написано
DomainKeys использует заголовки "От" и "Отправитель", а также тело сообщения в сочетании с закрытым ключом для создания подписи DomainKeys.
Это имеет смысл - но что это значит для других моих полей заголовка (например, Date, Message-ID) и что подразумевается под телом сообщения?
Итак, мой общий вопрос:
Какой вход (почтовые части) я использую для генерации хеша DomainKey?
2 ответа
Чтобы узнать, какое поле заголовка, подписанное "DKIM для JavaMail", загляните в источник "DKIMSigner.java", они указываются в массиве " String[] defaultHeadersToSign".
Тело означает само сообщение (упрощенная структура электронного письма: поля заголовка + одна пустая строка + тело).
Больше нет необходимости использовать лишенные DomainKeys, если вы уже используете DKIM. Возможно, вы захотите взглянуть на эту реализацию http://www.badpenguin.co.uk/dkim/