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
ASC_REQ_DELEGATE
Il server è autorizzato a rappresentare il client.
ASC_REQ_MUTUAL_AUTH
Sia il client che il server devono dimostrare la propria identità.
ASC_REQ_REPLAY_DETECT
Il contesto di sicurezza supporta il rilevamento dei pacchetti riprodotti.
ASC_REQ_SEQUENCE_DETECT
Il contesto di sicurezza supporterà il rilevamento dei messaggi non ordinati.
ASC_REQ_USE_SESSION_KEY
È necessario negoziare una nuova chiave di sessione .
ASC_REQ_PROMPT_FOR_CREDS
Se il client è un utente interattivo, il pacchetto deve, se possibile, richiedere all'utente le credenziali appropriate.
ASC_REQ_USE_SUPPLIED_CREDS
Il buffer di input contiene informazioni sulle credenziali specifiche del pacchetto che devono essere usate per autenticare la connessione.
ASC_REQ_ALLOCATE_MEMORY
Il pacchetto deve allocare memoria. Il chiamante deve infine chiamare la funzione FreeContextBuffer per liberare memoria allocata dal pacchetto di sicurezza.
ASC_REQ_USE_DCE_STYLE
Il chiamante prevede una transazione di autenticazione reciproca a tre gambe.
ASC_REQ_DATAGRAM
Deve essere usato un canale di comunicazione di tipo datagram. Per altre informazioni, vedere Contesti di Datagram.
ASC_REQ_CONNECTION
Deve essere usato un canale di comunicazione di tipo connessione. Per altre informazioni, vedere Contesti orientati alla connessione.
ASC_REQ_EXTENDED_ERROR
Se il contesto ha esito negativo, generare un messaggio di risposta di errore per inviare nuovamente al client.
ASC_REQ_STREAM
Deve essere usato un canale di comunicazione di tipo di flusso. Per altre informazioni, vedere Contesti Stream.
ASC_REQ_INTEGRITY
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

Vedi anche

AllocateLsaHeap

SpInitLsaModeContext

SpLsaModeInitialize