O problema era: O certificado do servidor foi assinado com um hash SHA-512. O Debian 7 ainda vem com gnutls
2.x, mas gnutls
3.x é necessário para usar com muita vantagem certificados assinados SHA-512. Eu estava instalando este certificado em 23 de dezembro de 2014.
O Google parece ter alterado suas políticas na negociação de cifras para ser mais rigoroso em processos de codificação de fallback e / ou verificação de assinatura. Até o final de janeiro de 2015, a troca de e-mails com servidores do gmail funcionou (com a configuração CRT assinada pelo Debian 7 + gnutls 2.6 + SHA-512), então, de repente, não foram recebidos e-mails do gmail após o final de janeiro de 2015 sem alterações meu lado.
Solução: Substituir por um certificado assinado SHA-256 ou atualizar para gnutls
3.x (que atualmente não está no ramo estável do Debian 7) resolve o problema. (Eu fiz o primeiro.)
Observação 1: Pesquisando on-line, descobri que esse também é um problema de muitos certificados CaCert.org que são SHA-512 assinados por padrão agora. Parece que o CaCert.org agora fornece uma "opção avançada" na interface de geração do CRT para selecionar o SHA-256 para evitar este problema para os usuários do Debian 7. No entanto, neste problema preciso, há atualmente muitas sugestões e sugestões enganosas em fóruns on-line, dizendo que a variável tls_require_ciphers
deve ser configurada corretamente na configuração exim4
para garantir a negociação adequada do pacote de criptografia. Isto está errado; Eu não ajustei essa variável.
Nota 2: Existe um problema relacionado com clientes usando Thunderbird conectando-se a um exim4
+ Debian 7 MTA para enviar e-mails (veja este post: Exim após a atualização do Thunderbird: "Não foi possível negociar um conjunto de cifras com suporte ", que foi fechado, mas na verdade é altamente relacionado.)
O Thunderbird tem exatamente a mesma configuração estrita que o gmail usa ao negociar um conjunto de cifras, portanto, ele falha nessas circunstâncias específicas quando o servidor usa gnutls
< 3.x mas um CRT assinado por SHA-512. A solução é a mesma: Use um CRT assinado com SHA-256 ou atualize libgnutls (se possível em sua distribuição).