Funzione di callback spAcceptLsaModeContextFn (ntsecpkg.h)
Funzione di invio del server usata per creare un contesto di sicurezza condiviso da un server e un client.
La funzione SpAcceptLsaModeContext viene chiamata quando il server chiama la funzione AcceptSecurityContext (Generale)dell'interfaccia del provider di supporto della sicurezza.
Sintassi
SpAcceptLsaModeContextFn Spacceptlsamodecontextfn;
NTSTATUS Spacceptlsamodecontextfn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in] LSA_SEC_HANDLE ContextHandle,
[in] PSecBufferDesc InputBuffer,
[in] ULONG ContextRequirements,
[in] ULONG TargetDataRep,
[out] PLSA_SEC_HANDLE NewContextHandle,
[out] PSecBufferDesc OutputBuffer,
[out] PULONG ContextAttributes,
[out] PTimeStamp ExpirationTime,
[out] PBOOLEAN MappedContext,
[out] PSecBuffer ContextData
)
{...}
Parametri
[in] CredentialHandle
Facoltativo. Gestire le credenziali da usare per il contesto.
[in] ContextHandle
facoltativo. Gestire il contesto corrente.
[in] InputBuffer
Puntatore a una struttura SecBufferDesc contenente informazioni dal client.
[in] ContextRequirements
Flag che indicano i requisiti di contesto. Nella tabella seguente sono elencati i valori validi.
Valore | Significato |
---|---|
|
Il server è autorizzato a rappresentare il client. |
|
Sia il client che il server devono dimostrare la propria identità. |
|
Il contesto di sicurezza supporta il rilevamento dei pacchetti riprodotti. |
|
Il contesto di sicurezza supporterà il rilevamento dei messaggi non ordinati. |
|
È necessario negoziare una nuova chiave di sessione . |
|
Se il client è un utente interattivo, il pacchetto deve, se possibile, richiedere all'utente le credenziali appropriate. |
|
Il buffer di input contiene informazioni sulle credenziali specifiche del pacchetto che devono essere usate per autenticare la connessione. |
|
Il pacchetto deve allocare memoria. Il chiamante deve infine chiamare la funzione FreeContextBuffer per liberare memoria allocata dal pacchetto di sicurezza. |
|
Il chiamante prevede una transazione di autenticazione reciproca a tre gambe. |
|
Deve essere usato un canale di comunicazione di tipo datagram. Per altre informazioni, vedere Contesti di Datagram. |
|
Deve essere usato un canale di comunicazione di tipo connessione. Per altre informazioni, vedere Contesti orientati alla connessione. |
|
Se il contesto ha esito negativo, generare un messaggio di risposta di errore per inviare nuovamente al client. |
|
Deve essere usato un canale di comunicazione di tipo di flusso. Per altre informazioni, vedere Contesti Stream. |
|
L'integrità del buffer può essere verificata; tuttavia, non verranno rilevati messaggi riprodotti e fuori sequenza. |
[in] TargetDataRep
Flag che indica la rappresentazione dei dati, ad esempio l'ordinamento di byte, da usare. Contiene SECURITY_NATIVE_DREP o SECURITY_NETWORK_DREP.
[out] NewContextHandle
Puntatore a un LSA_SEC_HANDLE. Nella prima chiamata a AcceptSecurityContext questo puntatore riceve il nuovo handle di contesto. Nelle chiamate successive , NewContextHandle può essere uguale all'handle specificato nel parametro ContextHandle .
[out] OutputBuffer
Puntatore a una struttura SecBufferDesc che riceve informazioni da inviare al client.
[out] ContextAttributes
Puntatore ai flag che specificano gli attributi di contesto supportati dal server. Per un elenco di valori validi, vedere il parametro ContextRequirements .
[out] ExpirationTime
Puntatore a un TimeStamp che riceve l'ora di scadenza per il contesto.
[out] MappedContext
Puntatore a un valore booleano. Impostare MappedContext su TRUE se il pacchetto di sicurezza implementa le funzioni SSP/AP in modalità utente.
[out] ContextData
facoltativo. Puntatore a una struttura SecBuffer che riceve dati specifici del contesto da copiare durante la creazione del contesto di sicurezza in modalità utente. La memoria per ContextData deve essere allocata usando la funzione AllocateLsaHeap . L'Autorità di sicurezza locale (LSA) libera la memoria.
Valore restituito
Se la funzione SpAcceptLsaModeContext ha esito positivo e non è necessaria alcuna elaborazione per stabilire il contesto di sicurezza, restituire STATUS_SUCCESS. Se è necessaria un'elaborazione aggiuntiva, la funzione deve restituire SEC_I_CONTINUE_NEEDED.
Se la funzione non riesce a creare il contesto di sicurezza per qualsiasi altro motivo, restituire un codice NTSTATUS che indica il motivo.
Commenti
SpInitLsaModeContext è la funzione lato client per la creazione di un contesto di sicurezza.
SSP/APs deve implementare la funzione SpAcceptLsaModeContext . Il nome effettivo assegnato all'implementazione è fino allo sviluppatore.
Un puntatore alla funzione SpAcceptLsaModeContext è disponibile nella struttura SECPKG_FUNCTION_TABLEricevuta dalla funzione SpLsaModeInitialize .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ntsecpkg.h |