En SSL / TLS, ¿es el CipherSuite elegido por el servidor o el cliente? Además, ¿puede el certificado dictar o modificar de alguna manera el CipherSuite?
El cliente envía una lista de suites de cifrado que admite. Luego, el servidor elige el conjunto de cifrado que se utilizará, entre los enviados por el cliente. Por lo tanto, el servidor elige la suite de cifrado, dentro de las limitaciones de lo que el cliente admite (o está dispuesto a admitir que admite).
Además, la lista de conjuntos de cifrado admitidos que envía el cliente debe ordenarse por preferencia; un servidor cortés debe seleccionar la suite más preferida por el cliente, entre el conjunto de suites que admiten tanto el cliente como el servidor. No todos los servidores SSL / TLS son corteses.
El certificado afecta la elección. Por ejemplo, las suites de cifrado "TLS_RSA_ *" asumen que la clave pública del servidor es de tipo RSA y adecuada para el cifrado; no se pueden usar si la clave del servidor no es una clave RSA, o si las extensiones dentro del certificado (es decir, la extensión "Uso de claves") prohíben el intercambio de claves basado en encriptación (por ejemplo, un certificado de firma solamente).
Lea otras preguntas en las etiquetas encryption tls certificates