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);
Exemple #2
0
        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();
            }
        }
        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();
            }
        }