Нам необходимо использовать шифрование с SQL Server, поэтому мы включили ForceEncryption. Согласно документации, если сертификат не предоставлен, SQL Server сгенерирует собственный внутренний сертификат для шифрования.
Нам нужно понять, какой уровень шифрования это обеспечивает. Я думаю, что мы обычно используем 2048-битные сертификаты.
В каком хранилище сертификатов находится внутренний / резервный сертификат? А как получить уровень шифрования?
По умолчанию сертификат находится в реестре по адресу:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib
(Где MSSQL.x
является MSSQL.x является заполнителем для соответствующего значения экземпляра SQL Server.)
Если SQL-сервер не может найти сертификат в этом месте, он вернется к поиску в хранилище сертификатов сертификата с полным доменным именем компьютера, на котором он установлен. По умолчанию этот сертификат будет сертификатом машины, найденным в Local Computer
-> Personal
-> Certificates
через оснастку MMC Certificates.
Вы могли бы проверить длину ключа (и другие свойства) этого (или любого) сертификата через оснастку MMC Certificates, перейдя к нему, дважды щелкнув по нему, а затем нажав Details
вкладка в следующем диалоговом окне, которое появляется для сертификата.