`openssl s_server -cert -dcert` is only useful if the certs (and matching keys `-key -dkey`) are *different algorithms*. Then it will use e.g. the RSA key&cert for plain-RSA or DHE-RSA key exchange but the DSS key&cert for DHE-DSS. And similarly for ECDSA and ECDHE-ECDSA now that ECC is supported (since 1.0.0 except for RedHat). Apache appears to be the same. http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatefile says > This directive can be used multiple times (referencing different filenames) to support multiple algorithms for server authentication - typically RSA, DSA, and ECC. ... and #sslcertificatekeyfile says > The directive can be used multiple times (referencing different filenames) to support multiple algorithms for server authentication. For each SSLCertificateKeyFile directive, there must be a matching SSLCertificateFile directive. This would only help if you can get your clients to enable/disable different keyexchanges based on which CA they want you to use, which is probably harder and more confusing than using different hostnames. There actually is a standard extension defined for [TLS1.0 by 3546](https://www.rfc-editor.org/rfc/rfc3546#section-3.4) [TLS1.1 by 4366](https://www.rfc-editor.org/rfc/rfc4366#section-3.4) [TLS1.2 by 6066](https://www.rfc-editor.org/rfc/rfc6066#section-6) for the client to identify which CAs it trusts, and would like the server to use. But most extensions are optional and as far as I have seen no browser (or client at all) implements this one.