Função de retorno de chamada SpAcceptLsaModeContextFn (ntsecpkg.h)
Função de expedição de servidor usada para criar um contexto de segurança compartilhado por um servidor e um cliente.
A função SpAcceptLsaModeContext é chamada quando o servidor chama a função AcceptSecurityContext (Geral) da Interface do Provedor de Suporte de Segurança.
Sintaxe
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
)
{...}
Parâmetros
[in] CredentialHandle
Opcional. Manipule para as credenciais a serem usadas para o contexto.
[in] ContextHandle
Opcional. Manipule para o contexto atual.
[in] InputBuffer
Ponteiro para uma estrutura SecBufferDesc que contém informações do cliente.
[in] ContextRequirements
Sinalizadores que indicam os requisitos de contexto. A tabela a seguir lista os valores válidos.
Valor | Significado |
---|---|
|
O servidor tem permissão para representar o cliente. |
|
O cliente e o servidor são necessários para provar sua identidade. |
|
O contexto de segurança dará suporte à detecção de pacotes reproduzidos. |
|
O contexto de segurança dará suporte à detecção de mensagens fora de ordem. |
|
Uma nova chave de sessão deve ser negociada. |
|
Se o cliente for um usuário interativo, o pacote deverá, se possível, solicitar ao usuário as credenciais apropriadas. |
|
O buffer de entrada contém informações de credencial específicas do pacote que devem ser usadas para autenticar a conexão. |
|
O pacote deve alocar memória. O chamador deve eventualmente chamar a função FreeContextBuffer para liberar memória alocada pelo pacote de segurança. |
|
O chamador espera uma transação de autenticação mútua de três etapas. |
|
Um canal de comunicação do tipo datagram deve ser usado. Para obter mais informações, consulte Contextos de datagrama. |
|
Um canal de comunicação do tipo conexão deve ser usado. Para obter mais informações, consulte Contextos orientados à conexão. |
|
Se o contexto falhar, gere uma mensagem de resposta de erro para enviar de volta ao cliente. |
|
Um canal de comunicação do tipo fluxo deve ser usado. Para obter mais informações, consulte Contextos de Stream. |
|
A integridade do buffer pode ser verificada; no entanto, mensagens reproduzidas e fora de sequência não serão detectadas. |
[in] TargetDataRep
Sinalizador que indica a representação de dados, como ordenação de bytes, a ser usada. Contém SECURITY_NATIVE_DREP ou SECURITY_NETWORK_DREP.
[out] NewContextHandle
Ponteiro para um LSA_SEC_HANDLE. Na primeira chamada para AcceptSecurityContext, esse ponteiro recebe o novo identificador de contexto. Em chamadas subsequentes, NewContextHandle pode ser o mesmo que o identificador especificado no parâmetro ContextHandle .
[out] OutputBuffer
Ponteiro para uma estrutura SecBufferDesc que recebe informações a serem enviadas ao cliente.
[out] ContextAttributes
Ponteiro para sinalizadores que especificam os atributos de contexto aos quais o servidor dá suporte. Para obter uma lista de valores válidos, consulte o parâmetro ContextRequirements .
[out] ExpirationTime
Ponteiro para um TimeStamp que recebe o tempo de expiração do contexto.
[out] MappedContext
Ponteiro para um valor booliano. Defina MappedContext como TRUE se o pacote de segurança implementar as funções SSP/AP no modo de usuário.
[out] ContextData
Opcional. Ponteiro para uma estrutura SecBuffer que recebe dados específicos do contexto a serem copiados ao criar o contexto de segurança do modo de usuário. A memória para ContextData deve ser alocada usando a função AllocateLsaHeap . A LSA (Autoridade de Segurança Local ) liberará a memória.
Retornar valor
Se a função SpAcceptLsaModeContext for bem-sucedida e não for necessário mais processamento para estabelecer o contexto de segurança, retorne STATUS_SUCCESS. Se o processamento adicional for necessário, a função deverá retornar SEC_I_CONTINUE_NEEDED.
Se a função não criar o contexto de segurança por qualquer outro motivo, retorne um código NTSTATUS indicando o motivo.
Comentários
SpInitLsaModeContext é a função do lado do cliente para criar um contexto de segurança.
SSP/APs devem implementar a função SpAcceptLsaModeContext . O nome real fornecido à implementação cabe ao desenvolvedor.
Um ponteiro para a função SpAcceptLsaModeContext está disponível na estrutura SECPKG_FUNCTION_TABLE recebida da função SpLsaModeInitialize .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ntsecpkg.h |