What I'm trying to archive is enable ECDSA and DSS ciphers in my site, but at the same time not depend just of self signed certificates, so I could sent to my client more than one certificate and them could select ECDSA and DSS over RSA if they can verify my self signed certificate, and if not, fall back to a CA signed certificate and refuse ECDSA and DSS.
|
Strictly speaking, the server can send an arbitrary number of certificates to the client, as part of its
Therefore, a really compliant server cannot send a choice of certificates to the client, and cannot expect clients to use any other certificate than the first one they send. For signature algorithm support, there is a standard TLS extension specified in section 7.4.1.4.1, by which the client can tell to the server, early in the handshake (in the (In practice, support for this extension is not yet widespread. But, also in practice, everybody uses RSA and supports RSA.) |
|||||||||||||
|
openssl s_serverand GnuTLS'gnutls-servallows you to specify additional certificates. Tryopenssl s_server -cert rsa.crt -key rsa.pem -dcert secp384r1-dsa.crt -dkey secp384r1-dsa.pem -wwwfor fun withopenssl s_client -cipher ECDHE-ECDSA-AES256-SHAandopenssl s_client -cipher ECDHE-RSA-AES256-SHA. (requires appropriate ECDSA and RSA certificates of course) – Lekensteyn Oct 4 '13 at 17:55