Создание доверенного сертификата для подключения к БД

Сертификат можно сгенерировать любым удобным способом.

Главные требование к SSL-сертификату на Microsoft SQL сервере:
  • Название сертификата должно быть равно полному имени сервера равный DNS имени сервера.

  • В качестве цели использования необходимо указывать "Серверная аутентификация".

Создание сертификата с помощью OpenSSL

Ниже приведён пример создания сертификата с использованием утилиты OpenSSL.

  1. Создайте сертификат следующей командой:

    openssl req -x509 -newkey rsa:4096 -sha256 -keyout .\out\authservice.key -out .\out\authservice.crt -subj "/CN=http://docsvision.com" -days 600

    Где .\out\authservice — место сохранения сертификата.

    В процессе создания сертификата будет предложено задать пароль для сертификата.

  2. Экспортируйте сертификат, выполнив следующую команду:

    openssl pkcs12 -export -name "http://webservice.com" -out .\out\authservice.pfx -inkey .\out\authservice.key -in .\out\authservice.crt

    В c:\out\authservice укажите путь для сохранения сертификата. Также замените name на имя сервера Microsoft SQL.

    Утилита запросит пароль на сертификат и на файл .pfx.

  3. Импортируйте сертификат на сервере с Microsoft SQL и поместите его в Личное хранилище.

    Сертификат в личном хранилище
    Рисунок 1. Сертификат в личном хранилище
  4. Запустите Диспетчер конфигурации SQL Server. В категории сетевая конфигурация SQL Server найдите раздел Протоколы для "имя-сервера".

  5. В свойствах раздела Протоколы для "имя-сервера" выберите вкладку Сертификат и укажите импортированный сертификат.

  6. Перейдите на вкладку Флаги и отметьте флаг ForceEncryption в значение Да.

  7. Чтобы настройки применились, перезапустите службу экземпляра сервера Microsoft SQL.

    Для этого необходимо разрешить учётной записи "NT Service\MSSQLSERVER" права на чтение сертификата. Если этого не сделать, сиквел не запустится и в журнал Windows будут записаны ошибки.

    Разрешения на чтение сертификата
    Рисунок 2. Разрешения на чтение сертификата