Obtendo credenciais do Schannel

As credenciais são exigidas pelo processo de autenticação do Schannel; O cliente e o servidor devem obter credenciais válidas para estabelecer um contexto de segurança para troca de mensagens. Para obter um exemplo que demonstra esse procedimento, consulte Obtendo credenciais.

Seu aplicativo obtém credenciais chamando a função AcquireCredentialsHandle , que retorna um identificador para as credenciais solicitadas. Como os identificadores de credenciais são usados para armazenar informações de configuração, o mesmo identificador não pode ser usado para operações do lado do cliente e do lado do servidor. Isso significa que os aplicativos que dão suporte a conexões de cliente e servidor devem obter um mínimo de dois identificadores de credenciais.

No Windows XP, uma estrutura de SCHANNEL_CRED especifica o seguinte:

  • Um protocolo de segurança
  • As criptografias permitidas
  • Forças de criptografia mínimas e máximas
  • Um certificado X.509 usado para autenticação — necessário para o servidor, opcional para o cliente, a menos que o servidor solicite a autenticação do cliente.

Passe a estrutura SCHANNEL_CRED (por meio do parâmetro pAuthData ) para a função AcquireCredentialsHandle . Essa função retorna o identificador de credenciais necessário para estabelecer um contexto de segurança.

Para obter informações detalhadas sobre como definir as criptografias usadas com o Schannel, consulte Especificando criptografias Schannel e forças de criptografia.

Para obter informações sobre certificados, consulte Funções de repositório de certificados e certificados.

Para obter um exemplo que demonstra a abertura de um repositório de certificados e a localização de um certificado a ser usado para autenticação Schannel, consulte Obtendo um certificado.