Version: 4.1.2 (KDE 4.1.2) (using 4.1.2 (KDE 4.1.2), 4.1.2-5.fc9 Fedora) Compiler: gcc OS: Linux (i686) release 2.6.26.6-79.fc9.i686 As seen by visiting the https://test1.gnutls.org/, https://test2.gnutls.org/ and https://test3.gnutls.org/ sites, konqueror seems to always send the same SNI identifier to all 3 sites (same Server DN line). Firefox3 gets this right (different Server DN for each site). Such functionality is needed in order to avoid spurious certificate hostname mismatch warnings when visiting https virtual hosts hosted on the same IP
Fixing this requires Trolltech to add support for SNI in QSslSocket. Qt in turn relies on OpenSSL which should support SNI in version 0.9.9 (not released yet).
According to the page at http://people.apache.org/~fuankg/diffs/httpd-2.2.x-sni.diff , SNI is supported starting from openssl version 0.9.8f which is out already (I've got 0.9.8g here on my Kubuntu box)
FYI Apache just released httpd 2.2.12 in July 2009 with full server side support for SNI. The code required just after the SSL_new call. See the openssl apps/s_client.c code for an example: SSL_new.... +#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) + /* If SNI isn't supported, we just don't call it and fail silently, + * as there's not much else we can do. + */ + if ((proto_version != SSL_VERSION_SSL2) && server_hostname) + SSL_set_tlsext_host_name(self->ssl, server_hostname); +#endif (extracted from http://bugs.python.org/issue5639) FYI a current SNI test site is https://sni.velox.ch/ which lists many common browsers supporting SNI. tested with konqueror 4.3.1
see bug 122433
as per comment #1 here is the Qt merge request: http://qt.gitorious.org/qt/qt/merge_requests/1574 It doesn't depend on openssl 0.9.9 as some versions of 0.9.8 have it optionally and the last few releases have it enabled by default. after looking at this closer this bug should be marked as a duplicate of 122433.
*** This bug has been confirmed by popular vote. ***
*** This bug has been marked as a duplicate of bug 122433 ***