estrutura KERB_CERTIFICATE_LOGON (ntsecapi.h)

A estrutura KERB_CERTIFICATE_LOGON contém informações sobre uma sessão de logon de cartão inteligente.

Ele é passado como o parâmetro AuthenticationInformation para a função LsaLogonUser quando o pacote de segurança Kerberos executa um logon de cartão inteligente interativo.

Sintaxe

typedef struct _KERB_CERTIFICATE_LOGON {
  KERB_LOGON_SUBMIT_TYPE MessageType;
  UNICODE_STRING         DomainName;
  UNICODE_STRING         UserName;
  UNICODE_STRING         Pin;
  ULONG                  Flags;
  ULONG                  CspDataLength;
  PUCHAR                 CspData;
} KERB_CERTIFICATE_LOGON, *PKERB_CERTIFICATE_LOGON;

Membros

MessageType

Um membro da enumeração KERB_LOGON_SUBMIT_TYPE que indica como essa estrutura é usada. O membro deve ser um dos valores a seguir.

Valor Significado
KerbCertificateLogon
13
Essa estrutura é passada como o parâmetro AuthenticationInformation para a função LsaLogonUser para executar um logon de cartão inteligente interativo.
KerbCertificateUnlockLogon
15
Essa estrutura é usada como membro de Logon de uma estrutura KERB_CERTIFICATE_UNLOCK_LOGON .

DomainName

O nome de domínio do usuário a ser autenticado. O valor desse membro pode estar vazio. Se o valor não estiver vazio, LsaLogonUser usará o valor para localizar o KDC ( Centro de Distribuição de Chaves ). Se o valor estiver vazio, LsaLogonUser tentará autenticar no domínio ao qual o computador está ingressado. O ponteiro é relativo ao início da estrutura e não é um ponteiro de memória absoluto.

UserName

O nome de usuário do usuário a ser autenticado. O valor desse membro pode estar vazio. Se o valor não estiver vazio, LsaLogonUser usará o valor para localizar a conta de usuário a ser autenticada. O ponteiro é relativo ao início da estrutura e não é um ponteiro de memória absoluto.

Pin

O PIN a ser usado para autenticar o usuário. O membro Length dessa estrutura não inclui o caractere nulo de terminação do PIN. O ponteiro é relativo ao início da estrutura e não é um ponteiro de memória absoluto.

O PIN pode ser protegido usando a função CredProtect .

Flags

Sinalizadores opcionais que controlam o comportamento da autenticação. Os valores a seguir são definidos.

Valor Significado
KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES
0x1
O KDC verifica o certificado para vários mapeamentos de conta.
KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO
0x2
O KDC usa as informações de certificado para autenticação.

Windows Server 2008 R2, Windows 7, Windows Server 2008 e Windows Vista: Esse sinalizador não está disponível.

CspDataLength

O comprimento, em caracteres, do membro CspData .

CspData

Um ponteiro para uma estrutura de KERB_SMARTCARD_CSP_INFO que contém informações sobre o CSP (provedor de serviços criptográficos) de cartão inteligente ) ou um ponteiro para uma estrutura de KERB_CERTIFICATE_INFO marshaled ao atualizar as credenciais do certificado.

Comentários

Essa estrutura, juntamente com os dados apontados pelos membros DomainName, UserName, Pin e CspData , está contida em um único bloco de memória contígua. Quando essa estrutura é serializada, os deslocamentos especificados por cada um desses membros devem ser múltiplos de dois.

Os ponteiros armazenados nos membros do tipo UNICODE_STRING são relativos ao início da estrutura e não são ponteiros de memória absolutos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho ntsecapi.h

Confira também

KERB_CERTIFICATE_UNLOCK_LOGON

KERB_SMARTCARD_CSP_INFO

Lsalogonuser