Freigeben über


setEncrypt-Methode (SQLServerDataSource)

Legt einen Wert vom Typ boolean fest, mit dem angegeben wird, ob die encrypt-Eigenschaft aktiviert ist.

Syntax

public void setEncypt(boolean encrypt)

Parameter

encrypt

true, wenn zwischen Client und SQL Server die Secure Sockets Layer (SSL)-Verschlüsselung aktiviert ist. Andernfalls wird false verwendet.

Hinweise

Ist die encrypt-Eigenschaft auf true festgelegt, wird von Microsoft SQL Server JDBC Driver sichergestellt, dass von SQL Server für alle zwischen Client und Server versendeten Daten die Secure Sockets Layer (SSL)-Verschlüsselung verwendet wird, sofern auf dem Server ein Zertifikat installiert ist. Der Standardwert ist false.

Bei der Initiierung eines SSL-Handshakes wird vom JDBC-Treiber die Java Virtual Machine (JVM) erkannt, auf der er ausgeführt wird.

Wenn die encrypt-Eigenschaft auf true festgelegt ist, verwendet Microsoft SQL Server JDBC Driver den JSSE-Standardsicherheitsanbieter der JVM zum Aushandeln der SSL-Verschlüsselung mit SQL Server. Der Standardsicherheitsanbieter unterstützt möglicherweise nicht alle erforderlichen Funktionen zum erfolgreichen Aushandeln der SSL-Verschlüsselung. So ist es beispielsweise möglich, dass die im 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-home>/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 SSL-Verschlüsselung durch SQL Server nicht erzwungen. Wenn die SQL Server-Instanz nicht für das Erzwingen der SSL-Verschlüsselung konfiguriert ist, wird eine Verbindung ohne jegliche Verschlüsselung hergestellt. Wenn die SQL Server-Instanz für das Erzwingen der SSL-Verschlüsselung konfiguriert ist, aktiviert Microsoft SQL Server JDBC Driver automatisch die SSL-Verschlüsselung, wenn er auf einer ordnungsgemäß konfigurierten Java Virtual Machine (JVM) ausgeführt wird. Andernfalls wird die Verbindung getrennt, und der Treiber löst einen Fehler aus.

Siehe auch

Verweis

SQLServerDataSource-Klasse

Konzepte

SQLServerDataSource-Elemente