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

Создание сертификата через IIS

  1. Откройте диспетчер серверов IIS. На начальной странице выберите Сертификаты сервера.

    Начальная страница диспетчера серверов IIS
    Рисунок 1. Начальная страница диспетчера серверов IIS
  2. На странице Сертификаты сервера выберите Создать самозаверенный сертификат.

    Создать самозаверенный сертификат
    Рисунок 2. "Создать самозаверенный сертификат"
  3. В поле Понятное имя сертификата укажите полное имя сервера, затем нажмите ОК.

    Укажите имя сертификата
    Рисунок 3. Укажите имя сертификата
  4. Правой кнопкой мыши нажмите на созданный сертификат, в контекстном меню выберите Экспортировать.

    Экспортируйте сертификат
    Рисунок 4. Экспортируйте сертификат
  5. В появившемся окне укажите путь для сохранения сертификата и задайте пароль.

    Укажите путь для сохранения сертификата и задайте пароль
    Рисунок 5. Укажите путь для сохранения сертификата и задайте пароль

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

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

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

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

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

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

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

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

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

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

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

Другой способ создать сертификат — использовать утилиту [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html).

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

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

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

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

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

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

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

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