Método setEncrypt (SQLServerDataSource)
Establece un valor Boolean que indica si la propiedad encrypt está habilitada.
Sintaxis
public void setEncypt(boolean encrypt)
Parámetros
encrypt
Es true si el cifrado de Seguridad de la capa de transporte (TLS), antes conocida como Capa de sockets seguros (SSL), está habilitado entre el cliente y SQL Server. De lo contrario, se devuelve el valor False.
Observaciones
Si la propiedad encrypt se establece en true, Microsoft JDBC Driver para SQL Server se asegura de que SQL Server usa el cifrado TLS en todos los datos que se envíen entre el cliente y el servidor, si el servidor tiene un certificado instalado. El valor predeterminado es false.
El controlador JDBC detecta la máquina virtual Java (JVM) que se está ejecutando cuando se intenta establecer un protocolo de enlace TLS.
Si la propiedad encrypt se establece en true, Microsoft JDBC Driver para SQL Server usa el proveedor de seguridad JSSE predeterminado de JVM para negociar el cifrado TLS con SQL Server. El proveedor de seguridad predeterminado puede no admitir todas las características necesarias para negociar el cifrado TLS correctamente. Por ejemplo, es posible que el proveedor de seguridad predeterminado no admita el tamaño de la clave pública RSA que se usa en el certificado TLS/SSL de SQL Server. En este caso, el proveedor de seguridad predeterminado podría generar un error que ocasionará que el controlador JDBC termine la conexión. Para resolver este problema, intente una de las siguientes acciones:
Configurar SQL Server con un certificado de servidor que tenga una clave pública RSA más pequeña
Configurar la JVM para usar un proveedor de seguridad JSSE diferente en el archivo de propiedades de seguridad "<java-home>/lib/security/java.security".
Usar una JVM distinta
Si la propiedad encrypt no se ha especificado o se ha establecido en false, el controlador no aplicará SQL Server para admitir el cifrado TLS. Si la instancia de SQL Server no se configura para exigir el cifrado TLS, se establece una conexión sin cifrado. Si la instancia de SQL Server está configurada para exigir el cifrado TLS, Microsoft JDBC Driver para SQL Server habilitará automáticamente el cifrado TLS cuando se ejecute en una máquina virtual Java (JVM) configurada correctamente; de lo contrario, se finalizará la conexión y el controlador generará un error.