Método setEncrypt (SQLServerDataSource)
Define um valor booliano que indica se a propriedade de criptografia está habilitada.
Sintaxe
public void setEncrypt(boolean encrypt)
Parâmetros
encrypt
true se a criptografia TLS, anteriormente conhecida como SSL, estiver habilitada entre o cliente e o SQL Server. Caso contrário, false.
Comentários
Se a propriedade de criptografia estiver definida como true, o Microsoft JDBC Driver para SQL Server verificará se o SQL Server usa a criptografia TLS para todos os dados enviados entre o cliente e o servidor se o servidor tiver um certificado instalado. O valor padrão é false.
O driver JDBC detecta que a JVM (Máquina Virtual Java) está em execução ao tentar estabelecer um handshake TLS.
Se a propriedade de criptografia for definida como true, o Microsoft JDBC Driver para SQL Server usará o provedor de segurança JSSE padrão da JVM para negociar a criptografia TLS com o SQL Server. O provedor de segurança padrão pode não dar suporte a todos os recursos necessários para negociar a criptografia TLS com êxito. Por exemplo, o provedor de segurança padrão pode não dar suporte ao tamanho da chave pública RSA usada no certificado TLS/SSL do SQL Server. Nesse caso, o provedor de segurança padrão pode gerar um erro que fará com que o driver JDBC encerre a conexão. Para resolver esse problema, siga um destes procedimentos:
Configure o SQL Server com um certificado do servidor que tenha uma chave pública RSA menor
Configure a JVM para usar um provedor de segurança JSSE diferente no arquivo de propriedades de segurança "<java-home>/lib/security/java.security"
Use uma JVM diferente
Se a propriedade de criptografia não for especificada ou for definida como false, o driver não exigirá que o SQL Server dê suporte à criptografia TLS. Se a instância do SQL Server não for configurada para forçar a criptografia TLS, será estabelecida uma conexão sem criptografia. Se a instância do SQL Server for configurada para forçar a criptografia TLS, o Microsoft JDBC Driver para SQL Server habilitará a criptografia TLS automaticamente na execução em uma JVM configurada corretamente; caso contrário, a conexão será encerrada e o driver produzirá um erro.