Função QueryContextAttributes (Geral)
Permite que um aplicativo de transporte consulte um pacote de segurança para determinados atributos de um contexto de segurança.
Para obter informações sobre como usar essa função com um SSP (provedor de suporte de segurança) específico, consulte os tópicos a seguir.
Tópico | Descrição |
---|---|
QueryContextAttributes (CredSSP) | Permite que um aplicativo de transporte consulte o CredSSP (Credential Security Support Provider) para determinados atributos de um contexto de segurança. |
QueryContextAttributes (Digest) | Permite que um aplicativo de transporte consulte o pacote de segurança do Digest para determinados atributos de um contexto de segurança. |
QueryContextAttributes (Kerberos) | Permite que um aplicativo de transporte consulte o pacote de segurança do Kerberos para determinados atributos de um contexto de segurança. |
QueryContextAttributes (Negotiate) | Permite que um aplicativo de transporte consulte o pacote de segurança do Negotiate para determinados atributos de um contexto de segurança. |
QueryContextAttributes (NTLM) | Permite que um aplicativo de transporte consulte o pacote de segurança do NTLM para determinados atributos de um contexto de segurança. |
QueryContextAttributes (Schannel) | Permite que um aplicativo de transporte consulte o pacote de segurança do Schannel para determinados atributos de um contexto de segurança. |
Sintaxe
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
Parâmetros
-
phContext [in]
-
Um identificador para o contexto de segurança a ser consultado.
-
ulAttribute [in]
-
Especifica o atributo do contexto a ser retornado. Esse parâmetro pode usar um dos valores a seguir.
Valor Significado - SECPKG_ATTR_ACCESS_TOKEN
- 18
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_AccessToken.
Retorna um identificador para o token de acesso.- SECPKG_ATTR_APP_DATA
- 0x5e
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SessionAppData.
Retorna ou especifica dados do aplicativo para a sessão.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_AUTHORITY
- 6
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Authority.
Consulta o nome da autoridade de autenticação.- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ClientSpecifiedTarget que representa o SPN (nome da entidade de serviço) do destino inicial fornecido pelo cliente.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.- SECPKG_ATTR_CONNECTION_INFO
- 0x5a
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ConnectionInfo.
Retorna informações detalhadas sobre a conexão estabelecida.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_CREDS_2
- 0x80000086
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ClientCreds que especifica as credenciais do cliente.
Se a credencial do cliente for nome de usuário e senha, o buffer será uma estrutura compactada de KERB_INTERACTIVE_LOGON.
Se a credencial do cliente for o nome de usuário e o PIN do cartão inteligente, o buffer será uma estrutura compactada de KERB_CERTIFICATE_LOGON.
Se a credencial do cliente for uma credencial de identidade online, o buffer será uma estrutura empacotada de SEC_WINNT_AUTH_IDENTITY_EX2.
Esse atributo só é compatível com o servidor CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.- SECPKG_ATTR_DCE_INFO
- 3
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_DceInfo.
Consultas para dados de autorização usados pelos serviços DCE.- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Bindings que especifica informações de vinculação de canal.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.- SECPKG_ATTR_EAP_KEY_BLOCK
- 0x5b
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_EapKeyBlock.
Consultas para dados chave usados pelo protocolo EAP TLS.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_FLAGS
- 14
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Flags.
Retorna informações sobre os sinalizadores de contexto negociados.- SECPKG_ATTR_ISSUER_LIST_EX
- 0x59
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_IssuerListInfoEx.
Retorna uma lista de emissores de certificados aceitos pelo servidor.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_KEY_INFO
- 5
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_KeyInfo.
Consulta informações sobre as chaves usadas em um contexto de segurança.- SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
- 30
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_LastClientTokenStatus que especifica se o token da chamada mais recente para a função InitializeSecurityContext é o último token do cliente.
Esse valor só é compatível com os pacotes de segurança do Negotiate, Kerberos e NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.- SECPKG_ATTR_LIFESPAN
- 2
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Lifespan.
Consulta o tempo de vida do contexto.- SECPKG_ATTR_LOCAL_CERT_CONTEXT
- 0x54
O parâmetro pBuffer contém um ponteiro para uma estrutura PCCERT_CONTEXT.
Localiza um contexto de certificado que contém um certificado final local.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_LOCAL_CRED
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_LocalCredentialInfo. (obsoleto)
Substituído por SECPKG_ATTR_LOCAL_CERT_CONTEXT.- SECPKG_ATTR_NAMES
- 1
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Names.
Consulta o nome associado ao contexto.- SECPKG_ATTR_NATIVE_NAMES
- 13
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_NativeNames.
Retorna o nome da entidade de segurança (CNAME) do tíquete de saída.- SECPKG_ATTR_NEGOTIATION_INFO
- 12
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_NegotiationInfo.
Retorna informações sobre o pacote de segurança a ser usado com o processo de negociação e o estado atual da negociação para o uso desse pacote.- SECPKG_ATTR_PACKAGE_INFO
- 10
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_DcSecPkgContext_PackageInfoeInfo.
Retorna informações sobre o SSP em uso.- SECPKG_ATTR_PASSWORD_EXPIRY
- 8
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_PasswordExpiry.
Retorna informações de expiração de senha.- SECPKG_ATTR_REMOTE_CERT_CONTEXT
- 0x53
O parâmetro pBuffer contém um ponteiro para uma estrutura PCCERT_CONTEXT.
Localiza um contexto de certificado que contém o certificado final fornecido pelo servidor.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_ROOT_STORE
- 0x55
O parâmetro pBuffer contém um ponteiro para um HCERTCONTEXT. Localiza um contexto de certificado que contém um certificado fornecido pelo repositório raiz. - SECPKG_ATTR_SESSION_KEY
- 9
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SessionKey.
Retorna informações sobre as chaves de sessão.- SECPKG_ATTR_SESSION_INFO
- 0x5d
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SessionInfo.
Retorna informações sobre a sessão.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_SIZES
- 0
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Sizes.
Consulta os tamanhos das estruturas usadas nas funções da mensagem.- SECPKG_ATTR_STREAM_SIZES
- 4
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_StreamSizes.
Consulta os tamanhos das várias partes de um fluxo usadas nas funções da mensagem.
Esse atributo é compatível somente com o pacote de segurança do Schannel.- SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
- 124
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SubjectAttributes.
Esse valor retorna informações sobre os atributos de segurança da conexão.
Esse valor só é compatível com o servidor CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.- SECPKG_ATTR_SUPPORTED_SIGNATURES
- 0x66
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SupportedSignatures.
Esse valor retorna informações sobre os tipos de assinatura compatíveis com a conexão.
Esse valor só é compatível com a delegação restrita do Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.- SECPKG_ATTR_TARGET_INFORMATION
- 17
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_TargetInformation.
Retorna informações sobre o nome do servidor remoto.- SECPKG_ATTR_UNIQUE_BINDINGS
- 25
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Bindings que especifica informações de vinculação de canal.
Esse valor só é compatível com a delegação restrita do Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível. -
pBuffer [out]
-
Um ponteiro para uma estrutura que recebe os atributos. O tipo de estrutura apontada depende do valor especificado no parâmetro ulAttribute.
Retornar valor
Se a função for bem-sucedida, o valor de retorno será SEC_E_OK.
Se a função falhar, o valor de retorno será um código de erro diferente de zero.
Comentários
A estrutura apontada pelo parâmetro pBuffer varia de acordo com o atributo que está sendo consultado. O chamador deve alocar a própria estrutura pBuffer, mas o SSP aloca qualquer memória necessária para manter membros de tamanho variável da estrutura pBuffer. A memória alocada pelo SSP pode ser liberada chamando a função FreeContextBuffer.
Depois que o valor SECPKG_ATTR_REMOTE_CERT_CONTEXT ou SECPKG_ATTR_LOCAL_CERT_CONTEXT tiver sido lido, o membro hCertStore será definido como um identificador para um repositório de certificados que contém os certificados intermediários, se houver. Além disso, o aplicativo é responsável por chamar CertFreeCertificateContext para liberar a memória usada pelo contexto do certificado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Biblioteca |
|
DLL |
|
Nomes Unicode e ANSI |
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI) |
Confira também
Suporte à Proteção Estendida para Autenticação (EPA) em um serviço