Exim говорит "запрос недействителен" во время gnutls_handshake

У меня есть Debian wheezy и настройка Exim для прослушивания порта 587, где пользователи могут проходить аутентификацию с использованием TLS. Я тестирую это с Thunderbird 31.1.2. Когда я пытаюсь отправить сообщение, Thunderbird отображает это:

Отправка сообщения не удалась. Не удалось отправить сообщение, так как соединение с SMTP-сервером smtp.gaspatchmodels.com было потеряно в середине транзакции. Попробуйте еще раз или обратитесь к администратору сети.

Exim показывает это в mainlog:

2014-09-29 18:03:22 Ошибка TLS при соединении с ppp-94-68-63-22.home.otenet.gr ([192.168.1. 68]) [94.68.63.22] (gnutls_handshake): запрос является недействительным.

Если я перехватываю трафик, я вижу, что клиент говорит "STARTTLS", сервер отвечает "220 TLS идти вперед", а затем клиент отправляет двоичные данные, после чего соединение кажется разорванным.

Если я бегу exim с -dвот что я получаю:

15332 SMTP<< STARTTLS
15332 initialising GnuTLS as a server
15332 GnuTLS global init required.
15332 initialising GnuTLS server session
15332 Expanding various TLS configuration options for session credentials.
15332 certificate file = /etc/exim4/exim.crt
15332 key file = /etc/exim4/exim.key
15332 TLS: cert/key registered
15332 verify certificates = /etc/ssl/certs/ca-certificates.crt size=245341
15332 Added 159 certificate authorities.
15332 Initialising GnuTLS server params.
15332 Loading default hard-coded DH params
15332 Loaded fixed standard D-H parameters
15332 GnuTLS using default session cipher/priority "NORMAL"
15332 host in tls_verify_hosts? no (option unset)
15332 host in tls_try_verify_hosts? no (option unset)
15332 TLS: a client certificate will not be requested.
15332 SMTP>> 220 TLS go ahead
15332 Received TLS SNI "[my domain name]" (unused for certificate selection)
15332 LOG: MAIN
15332   TLS error on connection from ppp-94-68-63-22.home.otenet.gr ([192.168.1.68]) [94.68.63.22] (gnutls_handshake): The request is invalid.
15332 TLS failed to start

Для меня сообщение "Запрос недействителен" передает смысл, что Thunderbird виноват; однако я не могу поверить, что это так, потому что он не работает ни на моем Thunderbird, ни на Thunderbird моего клиента, а также потому, что он работал два дня назад (затем я обновил squeeze, удалил конфигурацию и заново создал ее с помощью ansible). Я не вижу ничего важного в конфигурации, кроме

MAIN_TLS_ENABLE = true

в /etc/exim4/conf.d/main/000_localmacros,

Могу ли я получить больше отладочной информации от gnutls? Например, почему он считает запрос недействительным?

1 ответ

Решение

Я нашел проблему. Я сделал ошибку в конфигурации: /etc/exim4/exim.crtвместо того, чтобы содержать сертификат хоста + сертификат цепи, содержал закрытый ключ хоста + сертификат цепи.

Интересно, если это exim или же gnutls ошибка. "Запрос недействителен", похоже, не подходит для этой проблемы.

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