public static extern uint AcquireCredentialsHandle( string principal, string package, SecurityCredentialUse credentialUsage, IntPtr logonId, AuthIdentity identity, int keyCallback, IntPtr keyArgument, ref SspiHandle credentialHandle, out long timestamp);
public void Acquire(string username, string password) { RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { long timestamp; var authIdentity = new AuthIdentity(username, password); var result = NativeMethods.AcquireCredentialsHandle(null, PackageInfo.Name, CredentialUse, IntPtr.Zero, authIdentity, 0, IntPtr.Zero, ref _handle, out timestamp); if (result != NativeMethods.SEC_E_OK) { SetHandleAsInvalid(); throw Win32Exception.Create(result, "Unable to acquire credential."); } Expiry = timestamp.ToDateTime(); } }