CertDllOpenStoreProv, PIN abfragen
-
Hallo,
ich hab eine DLL geschrieben, die mit Hilfe von CryptRegisterOIDFunction und CertRegisterPhysicalStore Certificate von einem Device in dem Windows Certificate Store "kopiert". Soweit ist auch die kompelette Funktionalität abgebildet. Das Device kann mit einer Art PIN geschützt werden. Diesen PIN würde ich gerne mit dem Standard Windows Dialog abfragen. Nur ich find den Schlatlter dafür nicht, also dass ich Windows bescheid gebe, dass die PIN abgefragt und meiner DLL übermittelt wird.
Hat da jemand eine Idee dazu?
-
so, ich hab jetzt mal folgendes gemacht:
ich habe hier ein RDP bis zur PIN Abfrage laufen lassen (ist ja gleich zu Beginn) Dann hat man das Fenster dazu offen. Mit Spy++ habe ich mir die Properties angesehen. Man findet WndProc 7E423792
Mit pslist konnte ich die pid von mstsc finden und hab den mstsc mit Dr.Watson erschossen.mstsc 29392 8 13 318 6412 0:00:00.937 0:07:11.127
drwtsn32 -p 29392
Ergebnis man erhält ein Dr Watson File von mstsc und der Stelle wo es gerade hängt. (Bei der PIN Eingabe)
Man findet außerdem im DrWatson Log die Zeile
(000000007e410000 - 000000007e4a0000: C:\WINDOWS\system32\USER32.dll
Somit auch die DLL, die den Code der WndProc des Dialoges enthält und darin auch den CrashDump der Thread mit der PIN Abfrage
Es ist bei mstscax+0x10e5c7 eine Funktion die credui!CredUIPromptForCredentialsW+0x2a aufruft.
In Google findet man
http://www.pinvoke.net/default.aspx/credui/CredUIPromptForCredentialsW.html
http://www.win7dll.info/credui_dll.html
http://msdn.microsoft.com/en-us/library/aa375177(VS.85).aspx
Also die App hier MSTSC macht das letztlich selbst, der Store gibt ihr vor was sie fragen mussist also anscheinend kein flag was der store an setzen muss, sondern der store bzw. die dll ruft das dann selber auf, oder hab ich mir das jetzt falsch überlegt?
-
ich hab jetzt weiter geforscht; ich denke, man braucht sowas:
http://www.microsoft.com/whdc/device/input/smartcard/sc-minidriver.mspxeigentlich ist das ding keine smartcard, verhält sich aber ein wenig wie eine.
Mal sehen, wie weit ich komme.