ДКИМ Плохая Подпись. Ожидаемый хэш тела такой же, как и отправленная BH. Апач джеймс

Я сделал много исследований на эту тему. У меня есть почтовый сервер Apache James 2.3.2.1. Я настраиваю его как производственный сервер. Я запустил его и работал стабильно, но реализация jDKIM была проблематичной. Я нашел эти ссылки, чтобы понять это правильно. http://www.nailedtothex.org/roller/kyle/entry/configuring-james-to-sign-dkim https://github.com/smoradi/config/blob/master/noften/apache-james.txt

До сих пор я неоднократно проверял открытый и закрытый ключи. Библиотеки по почте. Java-код и конфигурация для Mailet. Но я застрял.

При тестировании с www.appmaildev.com/en/domainkeys/ я наконец-то исправил некоторые ошибки по темам, указанным выше. Но сейчас это просто игра со мной. В результатах теста DKIM говорится, что ожидаемый хеш тела должен быть ожидаемым хешем тела:

  : frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=

Но в заголовке сообщения говорится, что хэш тела - это как раз то, что нужно.

bh : frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=

И это точно так же, так что этот тест должен быть в порядке. Может быть, я что-то упускаю из-за DNS или в конфигурации Mailet, я просто не знаю, пытался ли я подходить по-разному, но это то, что я получаю каждый раз.

Как примечание, перед тем, как получить этот пункт, каждый раз, когда я отправляю почту через Outlook или Homail, она сразу попадает в "Хлам", а теперь является случайным почти каждые 3 или 5 отправлений. Хотя Gmail, так как SPF получил их всегда в папке "Входящие". И на сервере нет записи PTR, правильно настроенной в DNS.

Это почта от appmaildev.

Я изменяю свое доменное имя на example.com

И измените IP-адреса на xxx.xxx.xxx.xxx

этот тест, в частности, был сделан через Telnet с помощью Ehlo

Я пометил загадочную часть кода с ** **.

================================================== ==============

Результат DKIM: сбой (плохая подпись)

Signed by: webmaster@example.com
**Expected Body Hash: frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=**

PublicKey: selector._domainkey.example.com
    IN TXT = "k=rsa; p=
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtLBczKGEysTT6QuRgApyn6yvM
XOU9Sjkx6YMomuFujqPk2XgMuBbgafckRX+1F18h9G1rURmvc3EmPxegFxim6wrE
1RJGfddO+OHEjTBOsuXa7BK29P/bhCOehVeYG4o0L5DH8z3izfmvNuC3dC4N5G3R
8ZrNd7k/196TCZIaMwIDAQAB;"

---Original Message Header---
x-sender: webmaster@example.com
x-receiver: AAAA4AcCCxQA@appmaildev.com
Received: from james ([xxx.xxx.xxx.xxx]) by mail.appmaildev.com with Microsoft SMTPSVC(7.5.7600.16385);
     Thu, 11 Feb 2016 22:05:19 -0500
DKIM-Signature: v=1; d=example.com; b=V9gPNU9Gjky7fFov5cYuTGN/gQEoBgaAkctwnME17pT/Uket4PDsVixMQbyiKvgQF3ADK8HTrKyd1L+9bBiesJAQaD1L1lH0ualjO/Ctf8jjzLyDUfB6cu4TEuAD+aVkIUVVbd0LNhcpxiOMsd5cADRBqZy60Mw9fQOaqyjh0QU=; s=selector; a=rsa-sha256; **bh=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=;** h=from:to:received:received;
Message-ID: <1848510914.01455246317306.JavaMail.root@james>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-UserIsAuth: true
Received: from localhost.localdomain ([127.0.0.1])
by james (JAMES SMTP Server 2.3.2.1) with SMTP ID 101
for <AAAA4AcCCxQA@appmaildev.com>;
Fri, 12 Feb 2016 03:05:17 +0000 (UTC)
Date: Fri, 12 Feb 2016 03:05:17 +0000 (UTC)
From: webmaster@example.com
subject: prueba ehlo
ehlo.:
Bcc:
Return-Path: webmaster@example.com
X-OriginalArrivalTime: 12 Feb 2016 03:05:20.0069 (UTC) FILETIME=[34ED9F50:01D16542] 

1 ответ

Решение

После дополнительных исследований и испытаний я сделал это, чтобы работать. Похоже, у меня отсутствовали значения в DKIM-Signature. Это был мой оригинальный тег в config.xml для Apache James в почтовом сообщении DKIMSign:

  <signatureTemplate>v=1; s=selector; d=example.com;
 h=from:to:received:received; a=rsa-sha256; bh=;
 b=;</signatureTemplate>

Я скучал по "с", и я сделал изменение над "ч"

c=relaxed/relaxed;

h=Message-ID:Date:Subject:From:To:MIME-Version:Content-Type;

После модификации я получил это:

  <signatureTemplate>v=1; s=selector; d=example.com; 
  h=Message-ID:Date:Subject:From:To:MIME-Version:Content-Type; 
  a=rsa-sha256; bh=; b=;c=relaxed/relaxed;</signatureTemplate>

Еще одной деталью, о которой я сделал несколько проверок, была запись DNS. У меня был Windows Server, так что для осторожности я проверил эти детали.

Во-первых, escape-символ перед точкой с запятой в "k"

k=rsa\; 

Во-вторых, значение "p" было последним значением, которое не имеет точки с запятой или escape-символа.

p=MIG...QAB

Так что после команды хоста я получил что-то вроде

selector._domainkey.example.com descriptive text "k=rsa\;p=\010...QAB"

После тех изменений и проверок. Это пройдет каждый тест:)

Другая ссылка, которую я нашел полезной для конфигурации, была этой. http://mail-archives.apache.org/mod_mbox/james-server-user/201410.mbox/%3C544FD474.2040906%40malcolms.com%3E

Другие вопросы по тегам