I had created a sub-authentication package for Windows-7 login. It worked successfully for local account logins.
I then tried to implement same sub-authentication package for active directory in Windows server 2008 r2. I placed my DLLs in Windows\System32\
folder and modified registry values of Kerberos as this Microsoft document explains for sub-authentication dll.
The value I set was in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos
Value: Auth0
set to C:\Windows\System32\SubAuth.dll
(am I right here?).
But while authenticating I notice that my sub-authentication package doesn't get called as I don't get asked for the second factor while authenticating user on client machine against AD.
Am I missing something in setup or there is something I have to change in my Sub-authentication package.
Let me know if I have missed on any information here.
PS: Sub-authentication package is developed as per the Microsoft's Credential Provider documentations (in Msv1_0SubAuthenticationFilter routine).
Looks like this is by design - Msv1_0SubAuthenticationFilter routine from kerberos\ssv1_0 subauth package will not be called for cached domain interactive logon.
For interactive logon сall chain will be something like:
But for cached interactive logon сall chain looks like: