一种基于智能卡登录Windows系统的实现方式(2)

来源:网络(转载) 作者:梁皓 发表于:2011-08-15 13:37  点击:
【关健词】智能卡;凭据提供程序;身份认证
{ SFI_USERNAME, CPFT_LARGE_TEXT, LUsername }, { SFI_STATUS, CPFT_SMALL_TEXT, LStates }, { SFI_PIN, CPFT_PASSWORD_TEXT, LPin }, { SFI_TIP_TEXT, CPFT_SMALL_TEXT, LTip }, { SFI_SUBMIT_BUTTON, CPFT_SUBMI

  { SFI_USERNAME, CPFT_LARGE_TEXT, L"Username" },
  { SFI_STATUS, CPFT_SMALL_TEXT, L"States" },
  { SFI_PIN, CPFT_PASSWORD_TEXT, L"Pin" },
  { SFI_TIP_TEXT, CPFT_SMALL_TEXT, L"Tip" },
  { SFI_SUBMIT_BUTTON, CPFT_SUBMIT_BUTTON, L"Submit" },
  };
  用户在登录时选中智能卡标题图片时,即可调用智能卡登录对应的Windows Credential Provider接口函数,并调用ICredentialProviderCredential:: SetSelected函数,在SetSelected函数中判断智能卡是否已经插入,若插入则允许切换到输入PIN码框界面。
  if(CheckKeyIsInsert() == true)
  {SetConnect();
  }
  用户在PIN码输入框完成PIN码键入后,智能卡Windows Credential Provider调用ICredentialProviderCredential:: GetSerialization函数。在GetSerialization函数中调用智能卡API校验SFI_PIN对应控件的PIN码是否正确,若检验失败,设置SFI_TIP_TEXT对应的提示文字为PIN码校验结果提示信息。若校验成功,则读取和解密文件系统中加密保存的用户登录信息,并返回到GetSerialization函数的输出参数中。返回的用户登录信息将被Windows登录应用程序验证,若结果匹配则结束登录界面现在Windows桌面,否则提示错误信息。
  完成Windows Credential Provider后,需将Windows Credential Provider库拷贝到系统盘System32目录,并通过注册表注册到Windows系统。
  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{ed756d7f-139d-403f-aea8-82e97a83d184}]
  @="SMARTCARD_CredentialProvider"
  [HKEY_CLASSES_ROOT\CLSID\{ad7a7d7f-139d-403f-aea8-82e97a83d184}]
  @=" SMARTCARD _CredentialProvider"
  [HKEY_CLASSES_ROOT\CLSID\{ad7a7d7f-139d-403f-aea8-82e97a83d184}\InprocServer32]
  @=" SMARTCARD _CredentialProvider.dll"
  "ThreadingModel"="Apartment"
  3 结束语
  至此,我们介绍了一种通过智能卡登录Windows操作系统的方式,并简单介绍了Windows Credential Provider的关键函数。通过上述方法,还得到了一种将用户名密码登录方式转换为另一种登录方式的思路(如指纹登录、证书登录等)。为定制更安全、更方便、更友好的Windows登录程序打下了基础。
  参考文献:
  [1] Windows Vista Sample Credential Providers Overview.doc[EB].
  [2] Credential Providers for PDC - Final.doc[EB].
  [3] 陈锐,蒋泽军,陈福,等.基于Credential Provider的身份认证模型的研究与实现[J].航空计算技术,2010(3):1-4.

(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.