具有多个ID的LsaLogonUser用户映射到一个智能卡证书

时间:2015-12-08 01:10:08

标签: windows winapi windows-authentication msdn credential-providers

我正在开发一个应用程序,我将使用智能卡证书验证用户。将一个证书映射到多个ID。

Windows(凭据提供程序)使用“提示”属性和“引脚”在此类环境中登录用户。

我想用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;

我有一个证书映射到一个id的场景的工作代码。

来源:https://www.idrix.fr/Root/Samples/LsaSmartCardLogon.cpp

我的问题是Microsoft Windows凭据提供程序如何使用“提示”属性验证用户?

如何将“Hint”属性传递给LsaLogonUser api,以便正确验证用户?

谢谢,

0 个答案:

没有答案