Windows 2016 또는 최신 버전의 윈도우에서 MSSQL Server 접속시 Could not generate DH keypair 오류 발생
- Windows Server 2016 및 최신 버전의 Windows의 경우 DH 키 비트 길이의 최소 기본값이 2048비트
- 오래된 JDK 버전의 경우 DH 키 길이 지원이 최대 1024비트 인것으로 인해 발생
- 레지스트리 값 Diffie-Hellman -> ServerMinKeyBitLength 값 설정을 통해 회피 가능
KeyExchangeAlgorithm - Diffie-Hellman 키 크기
- 이 항목은 Diffie-Hellman 키 크기를 제어합니다.
- 키 교환 알고리즘의 사용은 암호 그룹 순서를 구성하여 제어해야 합니다.
- Windows 10 버전 1507 및 Windows Server 2016 추가되었습니다.
- 레지스트리 경로: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman
- TLS 클라이언트에 지원되는 최소 Diffie-Helman 키 비트 길이 범위를 지정하려면 ClientMinKeyBitLength 항목을 만듭니다. 이 항목은 기본적으로 레지스트리에 없습니다. 항목을 만든 후 DWORD 값을 원하는 비트 길이로 변경합니다. 구성되지 않은 경우 최소 1024비트입니다.
- TLS 클라이언트에 지원되는 최대 Diffie-Helman 키 비트 길이 범위를 지정하려면 ClientMaxKeyBitLength 항목을 만듭니다. 이 항목은 기본적으로 레지스트리에 없습니다. 항목을 만든 후 DWORD 값을 원하는 비트 길이로 변경합니다. 구성되지 않은 경우 최대값이 적용되지 않습니다.
- TLS 서버 기본값에 대한 Diffie-Helman 키 비트 길이를 지정하려면 ServerMinKeyBitLength 항목을 만듭니다. 이 항목은 기본적으로 레지스트리에 없습니다. 항목을 만든 후 DWORD 값을 원하는 비트 길이로 변경합니다. 구성되지 않은 경우 기본값은 2048비트입니다
KeyExchangeAlgorithm - 클라이언트 RSA 키 크기
- 이 항목은 클라이언트 RSA 키 크기를 제어합니다.
- 키 교환 알고리즘의 사용은 암호 그룹 순서를 구성하여 제어해야 합니다.
- Windows 10 버전 1507 및 Windows Server 2016 추가되었습니다.
- 레지스트리 경로: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\PKCS
- TLS 클라이언트에 지원되는 최소 RSA 키 비트 길이 범위를 지정하려면 ClientMinKeyBitLength 항목을 만듭니다. 이 항목은 기본적으로 레지스트리에 없습니다. 항목을 만든 후 DWORD 값을 원하는 비트 길이로 변경합니다. 구성되지 않은 경우 최소 1024비트입니다.
- TLS 클라이언트에 대해 지원되는 최대 RSA 키 비트 길이 범위를 지정하려면 ClientMaxKeyBitLength 항목을 만듭니다. 이 항목은 기본적으로 레지스트리에 없습니다. 항목을 만든 후 DWORD 값을 원하는 비트 길이로 변경합니다. 구성되지 않은 경우 최대값이 적용되지 않습니다.
Fixed JDK Version
- JDK6 6u171
- JKD7 7u131
- JDK8 8b56