setEncrypt 메서드(SQLServerDataSource)

JDBC 드라이버 다운로드

encrypt 속성이 사용되는지 여부를 나타내는 Boolean 값을 설정합니다.

구문

  
public void setEncypt(boolean encrypt)  

매개 변수

encrypt

이전에 SSL(Secure Sockets Layer)로 알려진 TLS(전송 계층 보안) 암호화를 클라이언트와 SQL Server 간에 사용하도록 설정한 경우 true입니다. 그렇지 않으면 false입니다.

설명

encrypt 속성이 true로 설정되어 있으면, SQL Server용 Microsoft JDBC Driver는 서버에 인증서가 설치된 경우 SQL Server에서 클라이언트와 서버 간에 전송되는 모든 데이터에 대해 TLS 암호화를 사용하도록 지정합니다. 기본 값은 false입니다.

JDBC 드라이버는 TLS 핸드셰이크를 설정할 때 드라이버를 실행 중인 JVM(Java Virtual Machine)을 검색합니다.

encrypt 속성이 true로 설정되어 있는 경우 SQL Server용 Microsoft JDBC Driver에서는 JVM의 기본 JSSE 보안 공급자를 사용하여 SQL Server와 TLS 암호화를 협상합니다. 기본 보안 공급자는 TLS 암호화를 성공적으로 협상하는 데 필요한 기능을 모두 지원하지 않을 수 있습니다. 예를 들어 기본 보안 공급자는 SQL Server TLS/SSL 인증서에 사용되는 RSA 퍼블릭 키의 크기를 지원하지 않을 수 있습니다. 이 경우 기본 보안 공급자에서 오류가 발생하여 JDBC 드라이버가 연결을 종료합니다. 이 문제를 해결하려면 다음 중 하나를 수행하십시오.

  • 보다 작은 RSA 공개 키를 사용하는 서버 인증서로 SQL Server 구성

  • "<java-home>/lib/security/java.security" 보안 속성 파일에서 다른 JSSE 보안 공급자를 사용하도록 JVM 구성

  • 다른 JVM을 사용합니다.

encrypt 속성이 지정되어 있지 않거나 false로 설정되어 있으면, 드라이버는 SQL Server에서 TLS 암호화를 지원하도록 적용하지 않습니다. SQL Server 인스턴스가 강제로 TLS 암호화를 사용하도록 구성되어 있지 않으면 암호화 없이 연결이 설정됩니다. SQL Server 인스턴스가 TLS 암호화를 사용하도록 구성되어 있으면, SQL Server용 Microsoft JDBC Driver는 올바르게 구성된 JVM에서 실행 중인 경우 자동으로 TLS 암호화를 사용합니다. 그렇지 않으면 연결이 종료되고 드라이버에서 오류가 발생합니다.

참고 항목

SQLServerDataSource 멤버
SQLServerDataSource 클래스