Estruturas de autenticação
As estruturas de autenticação são categorizadas de acordo com o uso da seguinte maneira:
- Estruturas de SSPI
- Estruturas Schannel
- Estruturas de pacote de segurança personalizadas
- Estruturas do provedor de rede
- Estruturas GINA
- Estruturas de autoridade de segurança local
- Estruturas de gerenciamento de credenciais
- Estruturas de cartão inteligente
Estruturas de SSPI
As estruturas a seguir, definidas em Sspi.h, são usadas em funções SSPI.
Estrutura | Descrição |
---|---|
CREDSSP_CRED | Especifica os dados de autenticação para os pacotes de segurança Schannel e Negotiate |
SEC_WINNT_AUTH_IDENTITY | Usado para passar um nome de usuário e senha específicos para a biblioteca em tempo de execução para fins de autenticação. |
SEC_WINNT_AUTH_IDENTITY_EX | Contém informações sobre um usuário. Uma forma ANSI e Unicode dessa estrutura são fornecidas. |
Secbuffer | Buffer alocado por um aplicativo de transporte para passar para um pacote de segurança. |
Secbufferdesc | Matriz de estruturas SecBuffer a serem passadas de um aplicativo de transporte para um pacote de segurança. |
SecPkgContext_AccessToken | Contém um identificador para o token de acesso do contexto de segurança. |
SecPkgContext_ClientCreds | Especifica as credenciais do cliente ao chamar a função QueryContextAttributes (CredSSP ). |
SecPkgContext_ConnectionInfo | Contém informações de protocolo e criptografia. Essa estrutura é usada pela função QueryContextAttributes (Geral). |
SecPkgContext_CredentialName | Especifica o nome da credencial. |
SecPkgContext_DceInfo | Contém dados de autorização usados pelos serviços DCE. |
SecPkgContext_EapKeyBlock | Contém os principais dados usados pelo Protocolo de Autenticação TLS EAP. |
SecPkgContext_Flags | Contém informações sobre os sinalizadores no contexto de segurança. |
SecPkgContext_IssuerListInfoEx | Contém uma lista de ACs ( autoridades de certificação ) confiáveis. |
SecPkgContext_Lifespan | Indica o tempo de vida de um contexto de segurança. |
SecPkgContext_Names | Contém o nome do usuário associado a um contexto de segurança. |
SecPkgContext_NativeNames | Contém os nomes de entidade de segurança do cliente e do servidor do tíquete de saída. |
SecPkgContext_NegotiationInfo | Contém informações sobre o pacote de segurança que está sendo configurado ou foi configurado. Ele também dá aos status sobre a negociação para configurar o pacote de segurança. |
SecPkgContext_PackageInfo | Contém o nome de um provedor de suporte de segurança (SSP). |
SecPkgContext_PasswordExpiry | Contém informações sobre a expiração de uma senha ou outra credencial. |
SecPkgContext_SessionKey | Contém informações sobre a chave de sessão. |
SecPkgContext_Sizes | Contém os tamanhos de estruturas importantes usadas nas funções de suporte à mensagem. |
SecPkgContext_StreamSizes | Contém os tamanhos dos vários atributos de fluxo para uso com as funções de suporte à mensagem. |
SecPkgContext_TargetInformation | Contém informações sobre a credencial usada para o contexto de segurança. |
SecPkgCredentials_Names | Contém o nome do usuário associado a um contexto. |
Secpkginfo | Fornece informações gerais sobre um pacote de segurança, como seu nome e funcionalidades. |
SECURITY_INTEGER | Estrutura para manter um valor numérico. Ele é usado na definição de outros tipos. |
SecurityFunctionTable | Tabela de expedição que contém ponteiros para as funções definidas no SSPI. |
Estruturas Schannel
As estruturas a seguir são definidas para uso com schannel.
Estrutura | Descrição |
---|---|
SCH_CRED_PUBLIC_CERTCHAIN | Contém um único certificado. Uma cadeia de certificação pode ser criada com base nesse certificado. |
SCH_CRED_SECRET_PRIVKEY | Contém informações de chave privada necessárias para autenticar um cliente ou servidor. |
SCHANNEL_CERT_HASH | Contém os dados do repositório de hash para o certificado que o Schannel usa. |
SCHANNEL_CERT_HASH_STORE | Contém os dados do repositório de hash para o certificado que o Schannel usa no modo kernel. |
SCHANNEL_ALERT_TOKEN | Gera um alerta de protocolo SSL ou protocolo TSL a ser enviado para o destino de uma chamada para a função InitializeSecurityContext (Schannel) ou AcceptSecurityContext (Schannel). |
SCHANNEL_CLIENT_SIGNATURE | Especifica uma assinatura de cliente quando uma chamada para a função InitializeSecurityContext (Schannel) não pode acessar a chave privada de um certificado do cliente (nesse caso, a função retorna SEC_I_SIGNATURE_NEEDED). |
SCHANNEL_CRED | Contém os dados de uma credencial Schannel. |
SCHANNEL_SESSION_TOKEN | Especifica se as reconexões estão habilitadas para uma sessão de autenticação criada chamando a função InitializeSecurityContext (Schannel) ou a função AcceptSecurityContext (Schannel). |
SecPkgContext_Authority | Contém o nome da autoridade de autenticação se houver uma disponível. Pode ser uma AC (autoridade de certificação ) ou o nome de um servidor ou domínio que autenticou a conexão. |
SecPkgContext_ConnectionInfo | Contém informações de protocolo e criptografia. Essa estrutura é usada pela função QueryContextAttributes (Geral). |
SecPkgContext_IssuerListInfoEx | Contém uma lista de autoridades de certificação confiáveis. |
SecPkgContext_KeyInfo | Contém informações sobre as chaves de sessão usadas em um contexto de segurança. Essa estrutura foi substituída pela estrutura SecPkgContext_ConnectionInfo . |
SecPkgContext_ProtoInfo | Contém informações sobre o protocolo em uso. |
SecPkgContext_SessionAppData | Armazena dados do aplicativo para um contexto de sessão. |
SecPkgCred_CipherStrengths | Contém a força mínima e máxima permitida para a criptografia usada pela credencial Schannel especificada. |
SecPkgCred_SupportedAlgs | Contém identificadores para algoritmos permitidos com uma credencial Schannel especificada. |
SecPkgCred_SupportedProtocols | Indica os protocolos permitidos com uma credencial Schannel especificada. |
X509Certificate | Representa um certificado X.509 . |
Estruturas de pacote de segurança personalizadas
O pacote de segurança personalizado usa as estruturas a seguir.
Estrutura | Descrição |
---|---|
LSA_SECPKG_FUNCTION_TABLE | Uma tabela de ponteiros para as funções LSA ( Autoridade de Segurança Local ) que os pacotes de segurança personalizados podem chamar. |
SECPKG_CALL_INFO | Contém informações sobre uma chamada de função em execução. |
SECPKG_CLIENT_INFO | Contém informações sobre o usuário de um pacote de segurança. |
SECPK_CONTEXT_THUNKS | Contém informações sobre chamadas para o pacote de segurança que serão executadas em processo com a LSA. |
SECPKG_DLL_FUNCTIONS | Contém as funções disponíveis para pacotes de segurança personalizados em execução em processo com um aplicativo cliente/servidor. |
SECPKG_EVENT_DOMAIN_CHANGE | Contém informações de sessão e computador. Esse nome de estrutura é um alias para a estrutura SECPKG_PARAMETERS . |
SECPKG_EVENT_NOTIFY | Contém informações sobre um evento relacionado à segurança. |
SECPKG_EVENT_PACKAGE_CHANGE | Contém informações sobre a disponibilidade e o uso do pacote de segurança. |
SECPKG_EXTENDED_INFORMATION | Contém informações estendidas sobre o pacote de segurança. |
SECPKG_FUNCTION_TABLE | Contém ponteiros para as funções implementadas por pacotes de segurança. |
SECPKG_GSS_INFO | Contém informações sobre o OID do GSS usado para identificar um pacote de segurança. |
SECPKG_MUTUAL_AUTH_LEVEL | Contém informações sobre o nível de autenticação mútua usado por um pacote de segurança. |
SECPKG_PARAMETERS | Contém informações de sessão e computador. |
SECPKG_PRIMARY_CRED | Contém informações de credenciais primárias . |
SECPKG_SUPPLEMENTAL_CRED | Contém informações de credenciais complementares . |
SECPKG_SUPPLEMENTAL_CRED_ARRAY | Contém informações de credenciais complementares. |
SECPKG_USER_FUNCTION_TABLE | Contém as funções implementadas por um pacote de segurança carregado em processo com aplicativos cliente/servidor. |
SecurityUserData | Contém informações sobre o usuário conectado. |
Estruturas do provedor de rede
As estruturas a seguir são usadas pelas APIs do Provedor de Rede e pelas funções relacionadas.
Estrutura | Descrição |
---|---|
NETCONNECTINFOSTRUCT | Contém informações sobre o desempenho de uma conexão de rede. |
NETRESOURCE | Contém informações sobre um recurso de rede enumerado. |
NOTIFYADD | Contém os detalhes de uma operação de conexão de rede. |
NOTIFYCANCEL | Contém os detalhes de uma operação de desconexão de rede. |
NOTIFYINFO | Contém status informações sobre uma operação de conexão ou desconexão de rede. |
REMOTE_NAME_INFO | Contém informações sobre um nome universal remoto. |
UNIVERSAL_NAME_INFO | Contém um nome universal local. |
Estruturas GINA
As funções de interface GINA e as funções de suporte do Winlogon usam as estruturas a seguir.
Estrutura | Descrição |
---|---|
WLX_CLIENT_CREDENTIALS_INFO_V1_0 | Contém informações de credencial do cliente. |
WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 | Contém as credenciais do cliente que permitem que as credenciais sejam transferidas de forma transparente para uma sessão de destino. |
WLX_DESKTOP | Contém informações da área de trabalho. |
WLX_DISPATCH_VERSION_1_0 | Contém a tabela de expedição Winlogon, versão 1.0. |
WLX_DISPATCH_VERSION_1_1 | Contém a tabela de expedição Winlogon, versão 1.1. |
WLX_DISPATCH_VERSION_1_2 | Contém a tabela de expedição Winlogon, versão 1.2. |
WLX_DISPATCH_VERSION_1_3 | Contém a tabela de expedição Winlogon, versão 1.3. |
WLX_DISPATCH_VERSION_1_4 | Contém a tabela de expedição Winlogon, versão 1.4. |
WLX_MPR_NOTIFY_INFO | Contém informações de autenticação e identificação. |
WLX_PROFILE_V1_0 | Contém informações usadas para configurar o ambiente inicial. |
WLX_PROFILE_V2_0 | Contém informações usadas para configurar o ambiente inicial. |
WLX_TERMINAL_SERVICES_DATA | Contém o caminho do perfil dos Serviços de Terminal e as informações de diretório base. |
Estruturas de autoridade de segurança local
A LSA (Autoridade de Segurança Local) usa as estruturas a seguir.
Estrutura | Descrição |
---|---|
DOMAIN_PASSWORD_INFORMATION | Contém informações sobre a política de senha de um domínio, como o comprimento mínimo para senhas e como as senhas exclusivas devem ser. |
KERB_ADD_CREDENTIALS_REQUEST | Especifica uma mensagem para adicionar, remover ou substituir uma credencial de servidor extra para uma sessão de logon. |
KERB_ADD_CREDENTIALS_REQUEST_EX | Especifica uma mensagem para adicionar, remover ou substituir uma credencial de servidor extra para uma sessão de logon e os SPNs ( nomes de entidade de serviço ) associados a essa credencial. |
KERB_CERTIFICATE_LOGON | Contém informações sobre uma sessão de logon de cartão inteligente. |
KERB_CERTIFICATE_UNLOCK_LOGON | Contém informações usadas para desbloquear uma estação de trabalho que foi bloqueada durante uma sessão interativa de logon de cartão inteligente. |
KERB_CHANGEPASSWORD_REQUEST | Contém informações usadas para alterar uma senha. |
KERB_CRYPTO_KEY | Contém informações sobre uma chave de sessão criptográfica Kerberos. |
KERB_EXTERNAL_NAME | Contém informações sobre um nome externo. |
KERB_EXTERNAL_TICKET | Contém informações sobre um tíquete externo. |
KERB_INTERACTIVE_LOGON | Contém informações sobre uma sessão interativa de logon. |
KERB_INTERACTIVE_PROFILE | Contém informações sobre um perfil de logon interativo. |
KERB_INTERACTIVE_UNLOCK_LOGON | Contém informações usadas para desbloquear uma estação de trabalho que foi bloqueada durante uma sessão interativa de logon. |
KERB_PURGE_TKT_CACHE_REQUEST | Contém informações usadas para excluir entradas do cache de tíquetes. |
KERB_QUERY_TKT_CACHE_REQUEST | Usado para recuperar informações sobre todos os tíquetes armazenados em cache para a sessão de logon do usuário especificada. |
KERB_QUERY_TKT_CACHE_RESPONSE | Contém os resultados da consulta ao cache de tíquetes. |
KERB_RETRIEVE_TKT_REQUEST | Contém informações usadas para recuperar um tíquete. |
KERB_RETRIEVE_TKT_RESPONSE | Contém a resposta da recuperação de um tíquete. |
KERB_S4U_LOGON | Contém informações sobre uma sessão de logon do serviço para usuário (S4U). |
KERB_SMARTCARD_CSP_INFO | Contém informações sobre um CSP (provedor de serviços criptográficos) de cartão inteligente. |
KERB_SMART_CARD_LOGON | Contém informações sobre uma sessão de logon de cartão inteligente. |
KERB_SMART_CARD_UNLOCK_LOGON | Contém informações usadas para desbloquear uma estação de trabalho que foi bloqueada durante uma sessão de logon de cartão inteligente. |
KERB_TICKET_CACHE_INFO | Contém informações sobre um tíquete Kerberos armazenado em cache. |
KERB_TICKET_LOGON | Contém informações de perfil para um logon de rede. |
KERB_TICKET_PROFILE | Contém informações sobre um perfil de logon interativo. |
KERB_TICKET_UNLOCK_LOGON | Contém informações para desbloquear uma estação de trabalho. |
LSA_DISPATCH_TABLE | Uma tabela de ponteiros para as funções LSA que os pacotes de autenticação do Windows podem chamar. |
LSA_STRING | Contém uma cadeia de caracteres ANSI e suas informações de comprimento. |
LSA_FOREST_TRUST_BINARY_DATA | Contém dados binários usados em operações de confiança de floresta LSA. |
LSA_FOREST_TRUST_COLLISION_INFORMATION | Contém informações sobre colisões de confiança na floresta LSA. |
LSA_FOREST_TRUST_RECORD | Contém informações sobre uma colisão de confiança de floresta LSA. |
LSA_FOREST_TRUST_DOMAIN_INFO | Contém informações de identificação para um domínio. |
LSA_FOREST_TRUST_INFORMATION | Contém informações de confiança de floresta LSA. |
LSA_FOREST_TRUST_RECORD | Contém um registro de confiança de floresta LSA. |
LSA_TOKEN_INFORMATION_NULL | Usado nos casos em que um acesso do sistema não autenticado é necessário. Essa estrutura não tem conteúdo. |
LSA_TOKEN_INFORMATION_V1 | Contém informações que um pacote de autenticação pode colocar em um objeto de token do Windows versão 1. |
MSV1_0_CHANGEPASSWORD_REQUEST | Obsoleto. |
MSV1_0_CHANGEPASSWORD_RESPONSE | Obsoleto. |
MSV1_0_ENUMUSERS_REQUEST | Obsoleto. |
MSV1_0_ENUMUSERS_RESPONSE | Obsoleto. |
MSV1_0_GETUSERINFO_REQUEST | Obsoleto. |
MSV1_0_GETUSERINFO_RESPONSE | Obsoleto. |
MSV1_0_INTERACTIVE_LOGON | Contém informações de logon do usuário para um logon interativo. |
MSV1_0_INTERACTIVE_PROFILE | Contém informações sobre um perfil de logon interativo. |
MSV1_0_LM20_LOGON | Contém informações de logon usadas em logons de rede. |
MSV1_0_LM20_LOGON_PROFILE | Contém informações sobre uma sessão de logon de rede. |
MSV1_0_SUBAUTH_LOGON | Usado por DLLs de subautenticação . |
MSV1_0_SUBAUTH_REQUEST | Contém informações a serem passadas para um pacote de subautenticação. |
MSV1_0_SUBAUTH_RESPONSE | Contém a resposta de um pacote de subautenticação. |
MSV1_0_SUPPLEMENTAL_CREDENTIAL | Usado para passar credenciais para MSV1_0 de Kerberos ou pacotes de autenticação personalizados. |
NETLOGON_LOGON_IDENTITY_INFO | Usado pelo Msv1_0SubAuthenticationRoutine e Msv1_0SubAuthenticationFilter para passar informações sobre um usuário para sub-autenticação de logon. |
OLD_LARGE_INTEGER | Usado para representar um valor inteiro com sinal de 64 bits como dois inteiros de 32 bits. |
QUOTA_LIMITS | Descreve a quantidade de recursos do sistema disponíveis para um usuário. |
SR_SECURITY_DESCRIPTOR | Contém informações sobre os privilégios de segurança do usuário. |
USER_ALL_INFORMATION | Contém informações sobre o usuário da sessão. Usado com pacotes de subautenticação. |
Estruturas de gerenciamento de credenciais
A API de Gerenciamento de Credenciais inclui as estruturas a seguir.
Estrutura | Descrição |
---|---|
CERT_CREDENTIAL_INFO | Contém uma referência a um certificado. |
CREDENCIAL | Contém uma credencial individual. |
CREDENTIAL_ATTRIBUTE | Contém um atributo definido pelo aplicativo da credencial. |
CREDENTIAL_TARGET_INFORMATION | Contém o nome, o domínio e a árvore do computador de destino. |
CREDUI_INFO | Controla a aparência das caixas de diálogo Gerenciamento de Credenciais. |
USERNAME_TARGET_CREDENTIAL_INFO | Contém uma referência a uma credencial. Essa estrutura é usada para passar um nome de usuário para a função CredMarshalCredential e para fora da CredUnmarshalCredential. |
Estruturas de cartão inteligente
O Cartão Inteligente fornece as estruturas a seguir.
Estrutura | Descrição |
---|---|
OPENCARD_SEARCH_CRITERIA | Fornece informações de pesquisa específicas usadas pela função SCardUIDlgSelectCard . |
OPENCARDNAME | Fornece informações usadas pela função GetOpenCardName . |
OPENCARDNAME_EX | Fornece informações usadas pela função SCardUIDlgSelectCard . |
SCARD_ATRMASK | Localiza cartões usando SCardLocateCardsByATR. |
SCARD_IO_REQUEST | Inicia uma estrutura de informações de controle de protocolo. |
SCARD_READERSTATE | Rastreia cartões inteligentes dentro de um leitor. |