Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A função QueryContextAttributes (Schannel) permite que um aplicativo de transporte consulte o pacote de segurança 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 [em]
-
Um identificador para o contexto de segurança a ser consultado.
-
ulAttribute [em]
-
Especifica o atributo do contexto a ser retornado. Este parâmetro pode ser um dos seguintes valores.
Valor Significado - SECPKG_ATTR_ACCESS_TOKEN
- 13
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.
Este atributo é suportado apenas pelo pacote de segurança 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_CIPHER_INFO
- 0x64
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_CipherInfo .
Retorna uma nova estrutura de informações de cifra CNG.- 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.- SECPKG_ATTR_KEYING_MATERIAL
- 0x6b
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_KeyingMaterial . O recurso de exportação de material de chaveamento segue o padrão RFC 5705.
Consultar esse atributo antes que o segredo mestre tenha sido gerado ou antes que o atributo SECPKG_ATTR_KEYING_MATERIAL_INFO tenha sido definido resulta em um erro.
Este atributo é suportado apenas pelo pacote de segurança Schannel no Windows 10 e Windows Server 2016 ou versões posteriores.- SECPKG_ATTR_CREDS_2
- 0x80000086
O parâmetro pBuffer contém um ponteiro para uma estrutura de 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 de KERB_INTERACTIVE_LOGON compactada.
Se a credencial do cliente for nome de usuário e PIN de cartão inteligente, o buffer será uma estrutura de KERB_CERTIFICATE_LOGON compactada.
Se a credencial do cliente for uma credencial de identidade online, o buffer será uma estrutura de SEC_WINNT_AUTH_IDENTITY_EX2 empacotada.
Este atributo é suportado apenas no servidor CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este valor não é suportado.- SECPKG_ATTR_DCE_INFO
- 3
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_DceInfo .
Consultas de dados de autorização usados pelos serviços DCE.- SECPKG_ATTR_EAP_KEY_BLOCK
- 0x5b
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_EapKeyBlock .
Consultas de dados-chave usados pelo protocolo EAP TLS.
Este atributo é suportado apenas pelo pacote de segurança Schannel.- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Bindings que contém as ligações de canal para TLS (RFC 5929).
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este valor não é suportado.- 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.
Este atributo é suportado apenas pelo pacote de segurança 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_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.
Este atributo é suportado apenas pelo pacote de segurança 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 principal (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_PackageInfo .
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.
Este atributo é suportado apenas pelo pacote de segurança 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 armazenamento raiz. - 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: Este valor não é suportado.- 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_SIZES
- 0
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Sizes .
Consulta os tamanhos das estruturas usadas nas funções por 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 usado nas funções por mensagem.- 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 suportados para a conexão.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este valor não é suportado.- 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 contém informações de ligação de canal.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este valor não é suportado.- SECPKG_ATTR_APPLICATION_PROTOCOL
- 35
O parâmetro pBuffer contém um protocolo de aplicativo negociado. - SECPKG_ATTR_DTLS_MTU
- 34
Define e recupera o valor MTU (unidade máxima de transmissão) para uso com DTLS. Se o DTLS não estiver habilitado em um contexto de segurança, esse atributo não será suportado.
Os valores válidos estão entre 200 bytes e 64 kilobytes. O valor padrão DTLS MTU em Schannel é 1096 bytes. -
pBuffer [saída]
-
Um ponteiro para uma estrutura que recebe os atributos. O tipo de estrutura apontada depende do valor especificado no parâmetro ulAttribute .
Valor de retorno
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.
Observações
A estrutura apontada pelo parâmetro pBuffer varia dependendo do atributo que está sendo consultado. O chamador deve alocar a própria estrutura pBuffer , mas o SSP aloca qualquer memória necessária para armazenar membros de tamanho variável da estrutura pBuffer . Quando terminar de usar a memória alocada pelo SSP, libere-a 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 armazenamento 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.
Requerimentos
| Requisito | Valor |
|---|---|
| Cliente mínimo suportado |
Windows 8.1 [apenas aplicações de ambiente de trabalho] |
| Servidor mínimo suportado |
Windows Server 2012 R2 [apenas aplicações de ambiente de trabalho] |
| Cabeçalho |
|
| Biblioteca |
|
| DLL |
|
| Nomes Unicode e ANSI |
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI) |
Ver também