スマートカード証明書を使用してユーザーを検証するアプリに取り組んでいます。1 つの証明書が複数の ID にマップされている場合。
Windows (資格情報プロバイダー) は、「Pin」と共に「Hint」属性を使用して、このような環境でユーザーをログインさせます。
LsalogonUser api で同じことを達成したいと考えています。問題は、構造体「KERB_CERTIFICATE_LOGON」に「ヒント」フィールドがないことです。
typedef struct _KERB_CERTIFICATE_LOGON {
KERB_LOGON_SUBMIT_TYPE MessageType;
UNICODE_STRING DomainName;
UNICODE_STRING UserName;
UNICODE_STRING Pin;
ULONG Flags;
ULONG CspDataLength;
PUCHAR CspData;
} KERB_CERTIFICATE_LOGON, *PKERB_CERTIFICATE_LOGON;
1 つの証明書が 1 つの ID にマップされるシナリオの作業コードがあります。
ソース: https://www.idrix.fr/Root/Samples/LsaSmartCardLogon.cpp
私の質問は、Microsoft Windows 資格情報プロバイダーが「ヒント」属性を使用してユーザーを検証する方法です。
ユーザーを正しく検証できるように、「ヒント」属性を LsaLogonUser API に渡すにはどうすればよいですか?
ありがとう、