2

У меня есть установка nginx и самозаверяющий центр сертификации, на котором я хочу, чтобы мои пользователи проходили аутентификацию с помощью клиентских сертификатов, подписанных этим центром сертификации.

В Linux все отлично работает как с Firefox, так и с Chrome. На Windows 10 Firefox работает отлично. Так что я знаю, что это не неправильная конфигурация сервера, системных часов или самих сертификатов.

Я импортирую сертификаты, выполнив certmgr.msc. Я храню сертификат клиента в "Личном" хранилище, а сертификат ЦС - в "Доверенных корневых центрах сертификации". Затем я перезагружаю chrome через chrome://restart и даже перезагружаю Windows безрезультатно.

После того, как я получил (ожидаемое) предупреждение о том, что подлинность сертификата сервера не проверяется, в Linux и в Firefox в Windows мне предоставляется опция "Все равно продолжить". На Windows Chrome и IE мне не дают такой опции. Chrome представляет следующий экран:

Я использую Chrome v56 (64bit)

Есть ли способ обойти эту проблему, о которой я не знаю? Почему Chrome убрал возможность продолжить работу в Windows, но эта опция все еще существует в других ОС?

РЕДАКТИРОВАТЬ

В MacOS Chrome ведет себя как в Linux. После импорта сертификатов в цепочку для ключей пользователя мне выдается то же предупреждение и опция "Все равно продолжить".

Я не знаю, является ли это проблемой Chrome или ограничением безопасности, которое применяет Windows, но я нахожу это крайне непрактичным и раздражающим.

1 ответ1

1

Если у кого-то есть такая же проблема, вот решение, и оно должно работать на Windows 7, 8 и 10.

  1. Создайте файл консоли управления Windows. Start -> Run -> mmc.exe

  2. В окне консоли: File -> Add/Remove Snap-in...

  3. Выберите оснастку « Certificates и выберите управление сертификатами для My user account в следующем окне.

  4. Вернувшись в диалоговое окно « Add or Remove Snap-ins », выберите «Редактор объектов групповой политики» и добавьте его в корневой каталог консоли. В следующем диалоговом окне оставьте для Group Policy Object значение LocalComputer и нажмите кнопку «Готово».

  5. Нажмите кнопку ОК, чтобы выйти из диалогового окна « Add or Remove Snap-ins ».

На данный момент вы должны смотреть на окно консоли, как это:

Теперь импортируйте ваши сертификаты.

  1. Разверните оснастку « Certificates и нажмите « Personal . Затем щелкните правой кнопкой мыши на средней панели и выберите All Tasks -> Import... Мастер импорта сертификатов появится. Просто импортируйте сертификат пользователя без изменения настроек по умолчанию.

  2. Разверните Trusted Root Certification Authorities и нажмите Certificates . Снова нажмите на среднюю панель и выберите All Tasks -> Import... Импортируйте сертификат своего CA, не меняя никаких настроек по умолчанию.

Теперь к интересной части ...

Вернитесь к Console Root , перейдите в оснастке « Local Computer Policy в « Computer Configuration -> « Windows Settings -> « Security Settings -> « Public Key Policies . Вы должны увидеть окно, подобное этому:

Дважды щелкните по Certificate Path Validation Settings . Установите флажок Define these policy settings и выберите параметры, как показано на рисунке ниже.

Затем нажмите « Select Certificate Purposes и убедитесь, что ваши цели включены (для меня были нужны Аутентификация клиента и Аутентификация сервера). Нажмите Apply и закройте окно консоли. Вас спросят, хотите ли вы сохранить настройки. Вы можете сделать это, если хотите сохранить свою конфигурацию для повторного использования другими пользователями.

Обязательно перезапустите Chrome или IE, чтобы изменения вступили в силу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .