Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para estabelecer uma conexão segura, o cliente adquire um de saída credenciais manipula 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:
- AcquireCredentialsHandle obtém uma referência às credenciais de logon obtidas anteriormente.
- InitializeSecurityContext (Geral) cria os tokens de segurança da solicitação de autenticação inicial.
O código para esse processo pode ser visto na função GenClientContext em Usando SSPI com um Windows Sockets Client.
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 chamadaAcquireCredentialsHandle douma estrutura de SEC_WINNT_AUTH_IDENTITY especificando as credenciais adicionais. Para obter mais informações sobre funções de credenciais, consulte Credential Management.
Observação
Os Flags membro da estrutura SEC_WINNT_AUTH_IDENTITY podem ser definidos como SEC_WINNT_AUTH_IDENTITY_ANSI quando as cadeias de caracteres na estrutura são ASCI ou OEM. As cadeias de caracteres ANSI podem ser usadas com os Flags membro da estrutura SEC_WINNT_AUTH_IDENTITY definida como SEC_WINNT_AUTH_IDENTITY_UNICODE se forem primeiro convertidas em Unicode usando a funçãoMultiByteToWideChar.
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 do token de segurança recebidas no descritor do buffer de saída para gerar uma mensagem a ser enviada ao servidor. A construção da mensagem, em termos de colocação de vários buffers e assim por diante, faz parte do protocolo de aplicação e deve ser compreendida por ambas as partes.
O cliente verifica o status de retorno de InitializeSecurityContext (Geral) para ver se a autenticação será concluída em uma única chamada. Um 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 Context Management.