Вопрос или проблема
У меня возникла странная проблема, для которой я просто не могу найти подсказки. У нас есть программа (Qlikview), которая обращается к удаленной административной службе через SSL (Qlikview Server), но она использует сертификат для проверки клиента.
Проблема возникает на любом клиентском компьютере (воспроизводится на разных машинах). Процесс происходит/воспроизводит проблему:
-
Установите сертификат .pfx с закрытым ключом на локальном компьютере > персонально. (используя консоль MMC).
-
Приложение запускается (работает идеально) и может использовать сертификат.
-
Перезагрузите ПК, приложение не работает с сообщением об ошибке: Не удалось установить безопасный канал для SSL/TLS с поставщиком (из-за ошибки сертификата)
-
Переустановите сертификат, и приложение снова начинает работать.
-
Перезагрузите ПК, и приложение снова не работает. (повторите процесс).
В попытке выяснить, сможем ли мы воспроизвести это далее, я экспортировал и затем повторно импортировал неудачный сертификат, и приложение снова заработало. Мы можем воспроизвести это с другими приложениями, которые используют тот же метод аутентификации. Сертификат на любом этапе (просмотр в MMC) выглядит действительным и правильным на каждом шаге.
Я действительно в затруднении. Буду признателен за любой совет.
- Щелкните правой кнопкой мыши на сертификате в консоли MMC -> Все задачи -> Управление частными ключами.
- Добавьте нужных пользователей для доступа. Теперь перезагрузите систему и попробуйте, это должно сработать.
У меня была эта проблема, и я только что ее почти решил. После установки сертификата вы можете щелкнуть по нему правой кнопкой мыши в MMC, перейти в раздел Все задачи, а затем Управление частными ключами. Оттуда вы можете добавить любого пользователя, которому хотите предоставить доступ к ключу сертификата после перезагрузки компьютера.
Я знаю, что это старо, но это проблема, с которой я боролся и наконец ее решил. Ответ выше правильный, но он не полный.
Я прочитал ответ как предложение, что все, что нужно сделать, это выбрать пользователя из списка, как, в моем случае, SYSTEM, Administrators(ComputerName) и какой-то странный выбор, например, S-1-5-5-2 и так далее. Ничто из этого не сработало.
Что я в конце концов обнаружил, так это то, что мне нужно было добавить действительного пользователя в список и выбрать этого пользователя. Для меня это заработало с использованием моего собственного имени пользователя, но я также попробовал с IUSR, и это тоже сработало.
Я провел много часов и много перезагрузок сервера, чтобы прийти к этому выводу. Надеюсь, это поможет предотвратить подобные проблемы у кого-то еще.
Необходимо создать окружение, которое, как и наше, внешне выглядит как необходимость. Все наше окружение – это дары необходимого, и необходимое – это дары Бога. Мы сохраняем наше необходимое для будущих детей, и мы все сохраняем наше необходимое.
Ответ или решение
Проблема: Сертификат перестает работать после перезагрузки компьютера
Ситуация, описанная вами, представляет собой распространенную проблему, возникающую при работе с сертификатами в операционных системах Windows. Несмотря на то, что сертификат корректно устанавливается и функционирует до перезагрузки, после неё приложение, использующее SSL/TLS, не может установить защищённый канал связи. Рассмотрим возможные причины и решения данной проблемы.
Возможные причины
-
Проблемы с правами доступа к закрытому ключу сертификата: При установке сертификата в хранилище персональных сертификатов, права доступа к закрытому ключу могут быть установлены не корректно, и после перезагрузки ранее установленные права могут сбрасываться или не работать, что приводит к ошибкам при обращении к сертификату.
-
Неправильная установка сертификата: Если сертификат установлен не в то хранилище или с ошибками, это также может привести к проблемам, особенно в случае перезагрузки системы.
Решения
-
Настройка прав доступа к закрытому ключу сертификата:
- После установки сертификата откройте Консоль управления сертификатами (MMC).
- Перейдите к нужному сертификату, щелкните правой кнопкой мыши, выберите Все задачи -> Управление закрытыми ключами.
- Добавьте пользователя (например, ваш учётный запомнённый уровень), которому нужно предоставить доступ к закрытому ключу, и задайте соответствующие права (как минимум, права чтения).
-
Проверка правильности установки сертификата:
- Убедитесь, что сертификат установлен в правильное хранилище (обычно это Личное хранилище).
- Проверьте, что сертификат был установлен с закрытым ключом и что он действителен.
-
Экспорт и повторный импорт сертификата:
- Попробуйте экспортировать сертификат с закрытым ключом и затем снова импортировать его. Это иногда помогает восстановить правильные права доступа.
Подтверждение решения
Как указано в вашем исходном вопросе и поддерживаемых откликах, многие пользователи столкнулись с аналогичными проблемами и решили их, настроив права доступа к закрытым ключам сертификатов. Предполагается, что права доступа, предоставленные при установке сертификата, могут сбрасываться, особенно если используется системный пользователь или другие нестандартные группы.
Заключение
Ваш опыт позволит другим пользователям избежать подобных проблем. Важно помнить, что правильная настройка прав доступа к сертификату является ключевым моментом, обеспечивающим его функциональность. В частности, добавление необходимого пользователя с правами на чтение и использование закрытого ключа может решить проблему с ошибками при установлении защищённого соединения после перезагрузки системы.
Если проблема сохраняется, рекомендуется обращаться к системному администратору или специалисту по IT-безопасности для глубокого анализа ситуации.