Compartilhar via


Inicialização de contexto do cliente

Para estabelecer uma conexão segura, o cliente adquire um identificador de credenciais de saída antes de enviar uma solicitação de autenticação para o servidor. O servidor cria um contexto de segurança para o cliente a partir da solicitação de autenticação. Há duas funções SSPI do lado do cliente envolvidas na configuração de autenticação:

O código para esse processo pode ser visto na função GenClientContext em Usando SSPI com um Cliente do Windows Sockets.

Se um programa cliente precisar usar credenciais além de suas próprias credenciais de logon, como um nome de usuário, nome de domínio e senha diferentes, ele as fornecerá na chamada AcquireCredentialsHandle com uma estrutura SEC_WINNT_AUTH_IDENTITY especificando as credenciais adicionais. Para obter mais informações sobre as funções de credenciais, consulte Gerenciamento de credenciais.

Observação

O membro Flags da estrutura SEC_WINNT_AUTH_IDENTITY pode ser definido como SEC_WINNT_AUTH_IDENTITY_ANSI quando as cadeias de caracteres na estrutura são ASCI ou OEM. As cadeias de caracteres ANSI poderão ser usadas com o membro Flags da estrutura SEC_WINNT_AUTH_IDENTITY definida como SEC_WINNT_AUTH_IDENTITY_UNICODE se forem convertidas primeiro em Unicode usando a função MultiByteToWideChar .

 

Para iniciar a primeira etapa da autenticação, o cliente chama InitializeSecurityContext (Geral) para obter um token de segurança inicial a ser enviado em uma mensagem de solicitação de conexão para o servidor.

O cliente usa as informações de token de segurança recebidas no descritor de buffer de saída para gerar uma mensagem a ser enviada ao servidor. A construção da mensagem, em termos de posicionamento de vários buffers e assim por diante, faz parte do protocolo do aplicativo e deve ser compreendida por ambas as partes.

O cliente verifica a status de retorno de InitializeSecurityContext (Geral) para ver se a autenticação será concluída em uma única chamada. Uma status de retorno de SEC_I_CONTINUE_NEEDED indica que o protocolo de segurança requer várias mensagens de autenticação. Para obter mais informações sobre funções de contexto, consulte Gerenciamento de Contexto.