setEncrypt-Methode (SQLServerDataSource)
Legt einen booleschen Wert fest, mit dem angegeben wird, ob die encrypt-Eigenschaft aktiviert ist.
Syntax
public void setEncrypt(boolean encrypt)
Parameter
encrypt
Der Wert lautet TRUE, wenn die TLS-Verschlüsselung (Transport Layer Security), zuvor als Secure Sockets Layer (SSL) bezeichnet, zwischen dem Client und SQL Server aktiviert ist. Andernfalls lautet der Wert false.
Bemerkungen
Ist die encrypt-Eigenschaft auf TRUE festgelegt, wird von Microsoft JDBC-Treiber für SQL Server sichergestellt, dass SQL Server für alle zwischen Client und Server versendeten Daten die TLS-Verschlüsselung verwendet, sofern auf dem Server ein Zertifikat installiert ist. Der Standardwert ist false.
Bei der Initiierung eines TLS-Handshakes wird vom JDBC-Treiber die Java Virtual Machine-Instanz (JVM) erkannt, auf der er ausgeführt wird.
Wenn die Eigenschaft „encrypt“ auf TRUE festgelegt ist, verwendet Microsoft JDBC-Treiber für SQL Server den JSSE-Standardsicherheitsanbieter der JVM-Instanz, um die TLS-Verschlüsselung mit SQL Server auszuhandeln. Der Standardsicherheitsanbieter unterstützt möglicherweise nicht alle Features, die zum erfolgreichen Aushandeln der TLS-Verschlüsselung erforderlich sind. So ist es beispielsweise möglich, dass die im TLS-/SSL-Zertifikat für SQL Server verwendete Größe des öffentlichen RSA-Schlüssels vom Standardsicherheitsanbieter nicht unterstützt wird. In diesem Fall löst der Standardsicherheitsanbieter möglicherweise einen Fehler aus, wodurch der JDBC-Treiber die Verbindung trennt. Führen Sie zum Beheben dieses Problems eine der folgenden Aktionen aus:
Konfigurieren Sie SQL Server mit einem Serverzertifikat mit einem kleineren öffentlichen RSA-Schlüssel
Konfigurieren Sie die JVM für die Verwendung eines anderen JSSE-Sicherheitsanbieters in der Sicherheitseigenschaftendatei „<Java-Basisverzeichnis>/lib/security/java.security“.
Verwenden Sie eine andere JVM.
Ist die encrypt-Eigenschaft nicht angegeben oder auf FALSE festgelegt, wird vom Treiber die Unterstützung der TLS-Verschlüsselung durch SQL Server nicht erzwungen. Wenn die SQL Server-Instanz nicht für das Erzwingen der TLS-Verschlüsselung konfiguriert ist, wird eine Verbindung ohne jegliche Verschlüsselung hergestellt. Wenn die SQL Server-Instanz für das Erzwingen der TLS-Verschlüsselung konfiguriert ist, aktiviert Microsoft JDBC-Treiber für SQL Server bei einer ordnungsgemäß konfigurierten Ausführung der JVM-Instanz automatisch die TLS-Verschlüsselung. Andernfalls wird die Verbindung getrennt, und der Treiber löst einen Fehler aus.