New project to interface with the Microsoft Windows SSPI integration authentication API.
This commit is contained in:
51
NativeMethods.cs
Normal file
51
NativeMethods.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace NSspi
|
||||
{
|
||||
public class NativeMethods
|
||||
{
|
||||
/*
|
||||
SECURITY_STATUS sResult = AcquireCredentialsHandle(
|
||||
NULL, // [in] name of principal. NULL = principal of current security context
|
||||
pszPackageName, // [in] name of package
|
||||
fCredentialUse, // [in] flags indicating use.
|
||||
NULL, // [in] pointer to logon identifier. NULL = we're not specifying the id of another logon session
|
||||
NULL, // [in] package-specific data. NULL = default credentials for security package
|
||||
NULL, // [in] pointer to GetKey function. NULL = we're not using a callback to retrieve the credentials
|
||||
NULL, // [in] value to pass to GetKey
|
||||
this->credentialHandle, // [out] credential handle (this must be already allocated)
|
||||
&tsExpiry // [out] lifetime of the returned credentials
|
||||
);
|
||||
|
||||
SECURITY_STATUS SEC_Entry AcquireCredentialsHandle(
|
||||
_In_ SEC_CHAR *pszPrincipal,
|
||||
_In_ SEC_CHAR *pszPackage,
|
||||
_In_ ULONG fCredentialUse,
|
||||
_In_ PLUID pvLogonID,
|
||||
_In_ PVOID pAuthData,
|
||||
_In_ SEC_GET_KEY_FN pGetKeyFn,
|
||||
_In_ PVOID pvGetKeyArgument,
|
||||
_Out_ PCredHandle phCredential,
|
||||
_Out_ PTimeStamp ptsExpiry
|
||||
);
|
||||
*/
|
||||
|
||||
[DllImport( "Secur32.dll", CallingConvention = CallingConvention.Winapi, SetLastError=false)]
|
||||
public extern int AcquireCredentialHandle(
|
||||
string principleName,
|
||||
string packageName,
|
||||
int credentialUse,
|
||||
IntPtr loginId,
|
||||
IntPtr packageData,
|
||||
IntPtr getKeyFunc,
|
||||
IntPtr getKeyData,
|
||||
IntPtr credentialHandle,
|
||||
long expiry
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user