Inicialização de Contexto do Servidor

Assim como o cliente, o servidor também adquire uma credenciais identificador para estar pronto para responder a uma solicitação de autenticação de entrada do cliente. As credenciais do servidor são usadas para autenticar o servidor no cliente em protocolos de segurança que dão suporte à autenticação do servidor ou à autenticação mútua. O servidor obtém um identificador para suas credenciais definidas pela conta de serviço usada para iniciar o servidor. Ele faz isso chamando AcquireCredentialsHandle.

O servidor pode adquirir seu identificador de credenciais e, em seguida, entrar em um estado de escuta ou pode aguardar em um estado de escuta até que uma solicitação de conexão chegue e, em seguida, adquira um identificador de credenciais de entrada. Para obter mais informações sobre funções de credenciais, consulte de Gerenciamento de Credenciais.

Quando o servidor recebe uma mensagem de solicitação de conexão de um cliente, ele cria umade contexto de segurança delocal para o cliente usando AcceptSecurityContext (Geral). O servidor usa esse contexto de segurança local para realizar solicitações futuras pelo mesmo cliente. Para obter mais informações sobre funções de contexto, consulte de Gerenciamento de Contexto.

O servidor verifica o status de retorno e o descritor de buffer de saída para garantir que não haja erros até agora e pode rejeitar a solicitação de conexão se houver erros. Se houver informações no buffer de saída retornadas por AcceptSecurityContext (Geral), ele agrupa esse buffer em uma mensagem de resposta para o cliente.

Qualquer buffer de saída de AcceptSecurityContext (Geral) deve ser enviado de volta para o cliente. Além disso, se o status de retorno exigir que o protocolo continue (SEC_I_CONTINUE_NEEDED ou SEC_I_COMPLETE_AND_CONTINUE), outra troca de mensagens com o cliente será necessária.

Para pernas adicionais, o servidor aguarda que o cliente responda com outra mensagem. Essa espera pode ser cronometrada para evitar um ataque de negação de serviço em que um cliente nunca responde propositalmente, fazendo com que um thread do servidor e, em breve, todos os threads do servidor parem de responder.