Je suis en train de porter un de mes serveurs vers un autre. Ce serveur exécute Postfix + Dovecot en utilisant un certificat auto-signé. Mon web-frontend était auparavant roundcube. Maintenant est le problème, que le nouveau serveur a PHP 5.6 installé, qui a des problèmes connus en utilisant des certificats auto-signés.
Tout d'abord, l'erreur de roundcube est :
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /var/www/roundcube/program/lib/Roundcube/rcube_imap_generic.php on line 915
[05-May-2015 13:11:11 +0200]: <8h4tkjbn> IMAP Error: Login failed for XXXXXXXXXXX from XXXXXXXXXXX. Unable to negotiate TLS in /var/www/roundcube/program/lib/Roundcube/rcube_imap.php on line 198 (POST /?_task=login?_task=login&_action=login)
J'ai trouvé, que vous pouvez mettre cela dans le config.inc.php
:
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => true,
'verify_depth' => 3,
'cafile' => '/etc/postfix/sslcert/mailserver.crt',
),
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => true,
'verify_depth' => 3,
'cafile' => '/etc/postfix/sslcert/mailserver.crt',
),
);
(L'emplacement des fichiers .crt et .key est le suivant /etc/postfix/sslcert/mailserver.*
)
En mettant cela dans la configuration, l'erreur est :
[05-May-2015 13:13:48 Europe/Berlin] PHP Warning: stream_socket_enable_crypto(): Unable to locate peer certificate CN in /var/www/roundcube/program/lib/Roundcube/rcube_imap_generic.php on line 915
J'ai essayé plusieurs variantes de ces lignes de configuration, mais je suis bloqué ici. Peut-être que quelqu'un ici pourrait m'aider !
Si vous avez besoin de plus d'informations, veuillez indiquer un commentaire et je modifierai le premier message !