У меня проблема с Exim. DKIM не подписывает исходящие письма.
Это вывод / var / log / exim4 / mainlog (Debian Squeeze):
2012-08-02 17:11:33 1Sx1k5-0004Tk-9D <= me@my_domain.com U=me P=local S=399
2012-08-02 17:11:33 1Sx1k5-0004Tk-9D DKIM: signing failed (RC -101)
2012-08-02 17:11:33 1Sx1k5-0004Tk-9D => somebody@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [173.194.77.27] X=TLS1.0:RSA_ARCFOUR_SHA1:16 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
Версия Exim работает: Exim версии 4.72 Berkeley DB: Berkeley DB 4.8.30: (9 апреля 2010 г.) Поддержка: crypteq iconv () IPv6 GnuTLS move_frozen_messages DKIM
Как я читал Вот:
Привет, Джон! Ошибка: «DKIM: ошибка подписи (RC -101)» - это код ошибки PDKIM_ERR_RSA_PRIVKEY (из src / pdkim / pdkim.h)
/* Function success / error codes */ #define PDKIM_OK 0 #define PDKIM_FAIL -1 #define PDKIM_ERR_OOM -100 #define PDKIM_ERR_RSA_PRIVKEY -101 #define PDKIM_ERR_RSA_SIGNING -102 #define PDKIM_ERR_LONG_LINE -103 #define PDKIM_ERR_BUFFER_TOO_SMALL -104
и возвращается только в одном месте - в src / pdkim / pdkim.c
/* Perform private key operation */ if(rsa_parse_key(&rsa, (unsigned char *)sig->rsa_privkey, strlen(sig->rsa_privkey), NULL, 0) != 0) { return PDKIM_ERR_RSA_PRIVKEY; }
Похоже, возникла проблема с анализом ключа RSA, который вы сгенерировали для Exim. Это может быть из-за того, что генерация ключа не удалась, или из-за того, что exim не имеет доступа к файлу (права доступа к файлу). Я бы начал с попытки заново сгенерировать ваши сертификаты.
Так что проблема в закрытом ключе.
Я пробовал сгенерировать разные ключи, но независимо от того, какой закрытый ключ я использую, Exim все еще регистрирует: DKIM: ошибка подписи (RC -101).
Я пробовал:
# openssl genrsa -out dkim.private.key 768
затем
# openssl genrsa -out dkim.private.key 1024
затем
# openssl genrsa -out private.key 768
или
# openssl genrsa -out private.key 1024
даже я пробовал это Мастер создания ключей DKIM но ошибка все еще существует.
Это раздел конфигурации Exim для DKIM (из /etc/exim4/exim4.conf.template):
remote_smtp:
debug_print = "T: remote_smtp for $local_part@$domain"
driver = smtp
dkim_domain = my_domain.com
dkim_selector = dkim
dkim_private_key = private.key
dkim_canon = relaxed
ключи, которые я использую, находятся в / etc / exim4, чтобы избежать проблем с разрешениями
Кто-нибудь знает? Как я могу решить эту проблему и подписать мои исходящие письма
Я решил эту проблему с помощью exim и dkim, установив абсолютный путь к моему закрытому ключу (спасибо @cjc):
Последний раздел конфигурации DKIM выглядит следующим образом:
remote_smtp:
debug_print = "T: remote_smtp for $local_part@$domain"
driver = smtp
dkim_domain = my_domain.com
dkim_selector = dkim
dkim_private_key = /absolute/path/to/my/private.key
dkim_canon = relaxed
Вот и все! Затем просто перезапустили Exim