2

スマートカード証明書を使用してユーザーを検証するアプリに取り組んでいます。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 に渡すにはどうすればよいですか?

ありがとう、

4

0 に答える 0