|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: callback.h
//
// Contents:
//
// Classes:
//
// Functions:
//
// History: 09-23-97 jbanes Created
//
//----------------------------------------------------------------------------
#define SECURITY_PACKAGE
#include <secint.h>
#define SCH_FLAG_READ_KEY 1
#define SCH_FLAG_WRITE_KEY 2
// Application process callbacks
#define SCH_SIGNATURE_CALLBACK 1
#define SCH_UPLOAD_CREDENTIAL_CALLBACK 2
#define SCH_UPLOAD_CERT_STORE_CALLBACK 3
#define SCH_ACQUIRE_CONTEXT_CALLBACK 4
#define SCH_RELEASE_CONTEXT_CALLBACK 5
#define SCH_DOWNLOAD_CERT_CALLBACK 6
#define SCH_GET_USER_KEYS 7
typedef struct _SCH_CALLBACK_LIST { DWORD dwTag; PLSA_CALLBACK_FUNCTION pFunction; } SCH_CALLBACK_LIST;
extern SCH_CALLBACK_LIST g_SchannelCallbacks[]; extern DWORD g_cSchannelCallbacks;
SECURITY_STATUS PerformApplicationCallback( DWORD dwCallback, ULONG_PTR dwArg1, ULONG_PTR dwArg2, SecBuffer *pInput, SecBuffer *pOutput, BOOL fExpectOutput);
BOOL DuplicateApplicationHandle( HANDLE hAppHandle, LPHANDLE phLsaHandle);
SECURITY_STATUS SerializeCertContext( PCCERT_CONTEXT pCertContext, PBYTE pbBuffer, PDWORD pcbBuffer);
SECURITY_STATUS DeserializeCertContext( PCCERT_CONTEXT *ppCertContext, PBYTE pbBuffer, DWORD cbBuffer);
NTSTATUS RemoteCryptAcquireContextW( HCRYPTPROV *phProv, LPCWSTR pwszContainer, LPCWSTR pwszProvider, DWORD dwProvType, DWORD dwFlags);
BOOL RemoteCryptReleaseContext( HCRYPTPROV hProv, DWORD dwFlags);
SP_STATUS SignHashUsingCallback( HCRYPTPROV hProv, DWORD dwKeySpec, ALG_ID aiHash, PBYTE pbHash, DWORD cbHash, PBYTE pbSignature, PDWORD pcbSignature, DWORD fHashData);
SP_STATUS SPGetUserKeys( PSPContext pContext, DWORD dwFlags);
VOID * PvExtVirtualAlloc(DWORD cb);
SECURITY_STATUS FreeExtVirtualAlloc(PVOID pv, SIZE_T cbMem);
SECURITY_STATUS SPFreeUserAllocMemory(PVOID pv, SIZE_T cbMem);
|