]> granicus.if.org Git - neomutt/commit
Rework OpenSSL certificate verification to support alternative chains. (closes #3903)
authorMichał Kępień <mutt@kempniu.pl>
Tue, 13 Dec 2016 19:16:10 +0000 (11:16 -0800)
committerRichard Russon <rich@flatcap.org>
Fri, 30 Dec 2016 20:05:36 +0000 (20:05 +0000)
commit541c486753c46915d5bbc6b25e5d7c03912cc3d9
tree8b71173932eb651320823d6a9c2b4de16065a34f
parentea3ceeb312dc36038f34c088026b22931d6b0411
Rework OpenSSL certificate verification to support alternative chains. (closes #3903)

The way Mutt currently verifies SSL certificates using OpenSSL does
not support alternative chains, which may cause confusion when some
popular mail providers (e.g. Gmail) are used with specific sets of
trusted CA certificates.

Replace the "manual" verification done by mutt in
check_certificate_by_signer() with SSL_set_verify() using a callback.
OpenSSL then does the certificate verification, including properly
looking at alternative chains.  The callback still provides the
opportunity to override using ~/.mutt_certificates or an interactive
prompt.
mutt_ssl.c