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

Поскольку я пишу службу, мне не нравится идея, указывать в документации что-то, типа "вы должны периодически входить в систему под этим пользователем и запускать Internet Explorer". Как мне сделать то же самое самому, попросить windows обновить список корневых сертификатов для текущего пользователя? И желательно правильный способ, а не какой-нибудь костыль, в стиле "ну ты там просто запускай Internet Explorer из службы".
winapi openssl
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.