3. Credential Provider の概要
Credential Provider をカスタマズ
してみよう
Credential Provider の可能性
注意
紹介するネタは Microsoft 非サポートの内容
を含みます
実践は自己責任で!
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 3
4. Windows の認証機構
以前は GINA (Graphical Identification
and Authentication) と呼ばれてたもの
Windows NT 3.5x/4.0/2000/XP/2003
極端に言うとログン画面や
CTRL+ALT+DEL 押したときに出る”アレ”
Windows Vista/2008/7 は
GINA からCredential
Provider に変わりました
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 4
8. ただ弄るだけだと面白くない!
外部 EXE の実行に挑戦!
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 8
9. サンプルは Windows SDK for Windows 7 and .NET Framework 4 を
利用
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c
21d2-2006-4afa-9702-529fa782d63b
“Windows SDK”で検索したほうが早い
検索結果でみると Windows SDK 7.1 5/19/2010
ンストール後下記にサンプルがあります
C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥security¥credentialproviders
Samples のドキュメントは…
Windows Vista Credential Provider Samples
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b1b3cb
d1-2d3a-4fac-982f-289f4f4b9300
MSDN マガジンの記事が凄く分かりやすい
Windows Vista 用の資格情報プロバダを使用したカスタム ログン機能の作成
http://msdn.microsoft.com/ja-jp/magazine/cc163489.aspx
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 9
10. サンプルは Visual Studio 2008
⇒ Visual Studio 2010 にコンバートしても問題なし
です
今回はシンプルな
”SampleCredentialProvider” を使用
CSampleProvider.cpp 内の
CSampleProvider::SetUsageScenario に追記
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 10
11. CTRL+ALT+DEL キー押下
で呼び出されます
ログオン画面とロック解除画面
のベント時にEXEを呼び出し
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 11
12. ターゲット指定は注意
x64 と x86 で配置先やレジストリの登録が
異なります
ンストール先のOS環境にあわせましょう
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 12
13. 出来上がったDLLをWindowsフォルダへコピー
レジストリを登録
レジストリフゔルはプロジェクトフォルダに同梱
他には既定の認証プロバダや
生体認証プロバダが標準で
登録されています
見たまんまCOMですね
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 13
14. OLE-COM Object Viewer で確認
しつこいですがCOMですね
IUnknown持ってますね
ではログオフしてみて…
(C) Copyright 2010, Keiji Kamebuchi, All Rights Reserved. 14