Где находится резервный сертификат SQL Server?

Где находится резервный сертификат SQL Server?

Нам необходимо использовать шифрование с SQL Server, поэтому мы включили ForceEncryption. Согласно документации, если сертификат не предоставлен, SQL Server сгенерирует свой собственный внутренний сертификат для выполнения шифрования.

Нам нужно понять, какой уровень шифрования это обеспечивает. Я думаю, мы обычно используем 2048-битные сертификаты.

В каком хранилище сертификатов находится внутренний/резервный сертификат? И как узнать уровень шифрования?

решение1

По умолчанию сертификат находится в реестре по адресу:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib

(Где MSSQL.xMSSQL.x — это заполнитель для соответствующего значения экземпляра SQL Server.)

Если SQL-сервер не может найти сертификат в этом месте, он вернется к поиску в хранилище сертификатов для сертификата с полным доменным именем компьютера, на котором он установлен. По умолчанию этот сертификат будет сертификатом машины, найденным в Local Computer-> Personal-> Certificatesчерез оснастку MMC Certificates.

Вы можете проверить длину ключа (и другие свойства) этого (или любого другого) сертификата с помощью оснастки «Сертификаты» консоли MMC, перейдя к нему, дважды щелкнув по нему, а затем нажав на вкладку Detailsв появившемся диалоговом окне, которое соответствует сертификату.

Если этот сертификат также недоступен, то SQL Server сгенерирует самоподписанный резервный сертификат и будет использовать его для шифрования. Вы можете просмотреть отпечаток или используемый сертификат при просмотре журналов ошибок при перезапуске службы SQL. Местоположение этого резервного сертификата официально неизвестно, и на других форумах предполагалось, что он, скорее всего, находится в памяти.Более подробную информацию можно найти здесь.

Связанный контент