chave e certificado openSSL

1

Até onde eu sei, em uma conexão SSL autenticada, tanto o cliente quanto o servidor possuem chaves privadas e fornecem seus certificados (com as chaves públicas correspondentes) através da conexão antes de estabelecer a conexão segura. No entanto, estou um pouco confuso, pois há uma conectividade openSSL normal com esses certificados e chaves sendo usados no servidor e no cliente, mas ... se a chave do cliente / chave pública gerada pelo comando openssl for criada por CA diferente da chave privada do servidor então a conectividade não deve acontecer, mas não está acontecendo no experimento que tentei com o openSSL.

Não é inesperado? É normal ter um conjunto diferente de chaves no lado do cliente e do servidor por CA diferente? O openSSL gera uma chave privada em tempo real para cada sessão e não depende do cliente? Alguém tem alguma idéia de como essas chaves / certificados funcionam no servidor e no lado do clento e essas chaves e certificados tinham algum tipo de relação / dependência entre eles…?

    
por ANS 25.01.2016 / 12:12

1 resposta

1

Para a maioria das conexões SSL, o cliente não apresenta um certificado. Apenas o servidor é autenticado.

Mas se um certificado de cliente for enviado, ele não precisará corresponder ao certificado do servidor de forma alguma. Cabe ao servidor decidir como ele autenticará os clientes; por exemplo, pode colocar na lista de permissões CAs específicas, ou impressões digitais de certificados específicos, ou simplesmente aceitar qualquer coisa.

As ciphersuites DH e ECDH também usam chaves públicas, mas não as mesmas - cada lado gera um par de chaves DH temporário e o assina com o par de chaves do certificado ou o envia sem assinatura.

    
por 25.01.2016 / 14:51

Tags