В настоящее время я работаю над входом в систему на основе смарт-карт для Windows. Для этого я разрабатываю поставщика учетных данных, который может взаимодействовать со смартфоном с поддержкой nfc, который используется в качестве замены для устройства чтения карт. Связь между смартфоном и компьютером осуществляется через Bluetooth и / или стандартное сетевое соединение. Мое текущее состояние таково, что все работает, пока я не хочу отправить собранные учетные данные в LogonUI, чтобы начать попытку входа.
По сути, моя проблема в том, что я понятия не имею, как использовать сертификат, полученный со смарт-карты, для входа в Windows. Основная проблема в том, что я не могу найти соответствующий apis для доступа к сертификату. Кто-нибудь знает, как это можно сделать? Ссылка на соответствующую документацию мне уже поможет. Насколько я понимаю, LogonUI использует kerberos. Они используют реализацию MIT?
Заранее спасибо за помощь!
В зависимости от CREDENTIAL_PROVIDER_USAGE_SCENARIO, переданного в
ICredentialProvider :: SetUsageScenario
ICredentialProviderCredential :: GetSerialization
должен вернуть сериализованную форму одной из следующих структур
KERB_CERTIFICATE_LOGON
KERB_CERTIFICATE_UNLOCK_LOGON
Поиск в сети для каждой из структур должен включить код для их сериализации.
Других решений пока нет …