Estou tentando entender como as diferentes configurações afetam o comportamento da minha comunicação servidor-cliente. No servidor, instalei uma CA autoassinada com um certificado de troca emitido que também foi configurado para ser usado pelo meu serviço SQL.
Inicialmente, gostaria de ver essa conexão falhar quando a CA raiz não foi instalada no cliente. Mas o que quer que eu faça, parece funcionar de qualquer maneira.
Para entender melhor o motivo, estou tentando listar todas as opções e que efeito elas devem produzir. Mas não sei se entendi direito ...
Alguém pode me ajudar a corrigir e preencher as peças que faltam aqui?
Ao habilitar a configuração " Forçar criptografia " no SQL Server:
- Na prática, isso é o mesmo que definir
Encrypt=True;TrustServerCertificate=True;
na minha cadeia de conexão. O cliente não tem voz a dizer se a criptografia deve ou não ser usada e se o servidor deve ser confiável ou não. - Esta opção pode ser usada para criptografar instâncias de serviço individuais.
- Oferece suporte a certificados de troca autoassinados sem CA.
Ao habilitar a configuração " Forçar criptografia de protocolo " no SQL Server:
- Todas as conexões do cliente com todos os serviços no servidor são criptografadas.
- Requer um certificado de troca emitido por uma CA confiável disponível no cliente e no servidor.
Ao usar a configuração " Forçar criptografia de protocolo " no cliente:
- Esse cliente único forçará o uso de SSL e requer um certificado de troca emitido por uma CA confiável disponível nesta máquina. Sem ele, essa conexão falhará.
Ao ativar a configuração " Forçar criptografia de protocolo " no servidor e no cliente:
- Isto não é recomendado. Mas por que? O que acontece e o que falhará?
Ao ativar " Forçar criptografia " e " Forçar criptografia de protocolo " no servidor:
- O que isso renderá? Importa qual criptografia forçada é definida quando a criptografia forçada de protocolo está ativada?
fonte