Обновление системных корневых сертификатов
От: pda  
Дата: 07.09.17 10:02
Оценка:
Я извлекаю корневые сертификаты при помощи функции CertEnumCertificatesInStore() из хранилищ ROOT и CA, чтобы создать из них список для OpenSSL. Проблема в том, что для разных пользователей (используется домен AD) этот список разный. Даже на одном компьютере. Т.е. под одним пользователем OpenSSL может не установить соединение с сайтом, потому что его сертификат не проходит проверку, а под другим — может. И соответственно под первым извлекается меньше сертификатов, а под другим — больше. Но если под первым пользователем запустить Internet Explorer, то с этого момента под ним из хранилищ вытаскивается столько же сертификатов, сколько и для второго пользователя и ssl соединение с сайтом устанавливается.

Поскольку я пишу службу, мне не нравится идея, указывать в документации что-то, типа "вы должны периодически входить в систему под этим пользователем и запускать Internet Explorer". Как мне сделать то же самое самому, попросить windows обновить список корневых сертификатов для текущего пользователя? И желательно правильный способ, а не какой-нибудь костыль, в стиле "ну ты там просто запускай Internet Explorer из службы".
winapi openssl
Re: Обновление системных корневых сертификатов
От: zou  
Дата: 07.09.17 14:14
Оценка:
Здравствуйте, pda, Вы писали:

Здесь люди копали: https://stackoverflow.com/questions/34732586/is-there-an-api-to-pre-retrieve-the-list-of-trusted-root-certificates-on-windows
В частности команда certutil -syncWithWU выкачивает кучу сертификатов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.