Seleção de certificado SSL com base no cabeçalho do host: é possível?

17

É possível que um servidor da Web selecione um certificado SSL para usar com base no cabeçalho host da conexão de entrada ou as informações disponíveis somente após a conexão SSL ser estabelecida?

Ou seja, meu servidor da Web pode ser listado na porta 443 e usar o certificado foo.com se o link for solicitado e o certificado bar.com se O link é solicitado ou estou tentando fazer algo impossível porque o servidor precisa estabelecer uma conexão SSL antes de saber o que o cliente quer?

    
por DrStalker 25.03.2010 / 05:58

4 respostas

23

Historicamente, sua primeira declaração é precisa. Agora, existem várias opções:

  • Um certificado curinga se subdomínios dentro do mesmo domínio.
  • Um certificado SAN / UCC para especificar nomes alternativos para o certificado, podendo assim servir vários certificados.
  • O SNI foi introduzido para estabelecer a conexão SSL após o cabeçalho do host. Isso tem suporte limitado, no entanto, como é mais recente.

Isso foi respondido várias vezes no ServerFault por mim e por outros. Sugiro procurar mais detalhes, a menos que você tenha uma pergunta específica.

    
por 25.03.2010 / 06:16
5

Para estender a resposta da Warner: A página do CAcert Task Force Vhost compara vários métodos para usar vários domínios em um único servidor. Eu pessoalmente uso Indicação do nome do servidor .

    
por 25.03.2010 / 20:09
3

Resposta curta: no

O HTTP é encapsulado dentro do SSL , portanto, qualquer informação sobre a solicitação fica inacessível até que a conexão seja estabelecida. Daí até que um certificado foi dado ao cliente. Nenhuma maneira de usar cabeçalhos nem qualquer outra informação criptografada, pois eles ainda não estão disponíveis.

EDITAR:   isso é verdade se você quiser que hoje em dia seja cross-browser e totalmente portátil. Como dito por outros, existem alguns novos métodos emergentes que tornam possível no futuro próximo.

    
por 25.03.2010 / 12:01
1

or is that information that is only available after the SSL connection is established?

Correto. A conexão SSL é estabelecida antes que qualquer parte da solicitação HTTP (cabeçalho do host incluído) seja enviada.

    
por 25.03.2010 / 10:04