On Wed, May 08, 2019 at 05:23:38PM -0500, Benjamin Kaduk via openssl-users wrote:
> > > In Postfix, it is configured with the same settings as the initial > > > SSL_CTX, *but* no server certificates. During the SNI callback I > > > interpose the certificate-less context, and then set the certificate > > > chain on the connection handle (SSL *) instead. > > > > okay, I'll use Postfix as my reference :-) > > For "how to use and switch SSL_CTXs" I'm sure it's admirable, but my > understanding is that it's still using the legacy server_name callback > (as opposed to the new client_hello_cb), and the new callback has a lot > of advantages for architectural cleanliness and avoiding some surprising > behavior with respect to the ordering of certain processing in the > server. So for a greenfield application I'd still suggest using the > client_hello_cb (not that I'm entirely unbiased...). The reason for the choice in Postfix is that we still support OpenSSL 1.0.2, which does not have the new interface. So for now I'm using the older interface which works with both 1.0.2 and 1.1.1. Since in Postfix we not also doing anything exciting like ALPN, or other exciting extensions, I don't expect any trouble from the original callback, but perhaps I've not looked closely enough at the potential drawbacks. If there's good reason to expect trouble, I'd like to hear what specifically might go wrong. -- Viktor.