Dê uma olhada neste Q / A sobre Segurança da Informação SE:
É possível que um servidor TLS envie mais de um certificado para o cliente para o mesmo site?
Estritamente falando, o servidor pode enviar um número arbitrário de certificados para o cliente, como parte de sua mensagem Certificate
. No entanto, como a norma diz :
The sender's certificate MUST come first in the list. Each following certificate MUST directly certify the one preceding it.
Portanto, um servidor realmente compatível não pode enviar uma escolha de certificados para o cliente e não pode esperar que os clientes usem qualquer outro certificado que não o primeiro que eles enviaram.
Para o suporte ao algoritmo de assinatura , há uma extensão TLS padrão especificada em seção 7.4.1.4.1 , através da qual o cliente pode informar ao servidor, no início do handshake (no ClientHello
, que é a primeira mensagem do procedimento) , que funções hash e algoritmos de assinatura que ele suporta. Isso permite que um servidor que possua, por exemplo, um certificado assinado por RSA e um certificado assinado por ECDSA, envie um ou outro, dependendo do que o cliente suporta. Isso é típico de como as coisas vão no TLS: o cliente sugere, o servidor escolhe.
(Na prática, o suporte para esta extensão ainda não é difundido. Mas, também na prática, todo mundo usa RSA e suporta RSA.)