Compartir a través de


Función QueryContextAttributes (Negotiate)

La función QueryContextAttributes (Negotiate) permite a una aplicación de transporte consultar el paquete de seguridad Negotiate para determinados atributos de un contexto de seguridad.

Sintaxis

SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
  _In_  PCtxtHandle phContext,
  _In_  ULONG       ulAttribute,
  _Out_ PVOID       pBuffer
);

Parámetros

phContext [in]

Identificador del contexto de seguridad que se va a consultar.

ulAttribute [in]

Especifica el atributo del contexto que se va a devolver. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
SECPKG_ATTR_ACCESS_TOKEN
18
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_AccessToken .
Devuelve un identificador al token de acceso.
SECPKG_ATTR_AUTHORITY
6
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_Authority .
Consulta el nombre de la entidad de autenticación.
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_ClientSpecifiedTarget que representa el nombre de la entidad de seguridad de servicio (SPN) del destino inicial proporcionado por el cliente.
Este valor solo se admite cuando se usan enlaces de canal.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_CREDS_2
0x80000086
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_ClientCreds que especifica las credenciales de cliente.
Si la credencial de cliente es el nombre de usuario y la contraseña, el búfer es una estructura KERB_INTERACTIVE_LOGON empaquetada.
Si la credencial de cliente es el nombre de usuario y el PIN de la tarjeta inteligente, el búfer es una estructura de KERB_CERTIFICATE_LOGON empaquetada.
Si la credencial de cliente es una credencial de identidad en línea, el búfer es una estructura de SEC_WINNT_AUTH_IDENTITY_EX2 serializado.
Este atributo solo se admite en el servidor CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_DCE_INFO
3
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_DceInfo .
Consultas para los datos de autorización utilizados por los servicios DCE.
SECPKG_ATTR_FLAGS
14
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_Flags .
Devuelve información sobre las marcas de contexto negociadas.
SECPKG_ATTR_KEY_INFO
5
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_KeyInfo .
Consulta información sobre las claves usadas en un contexto de seguridad.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_LastClientTokenStatus que especifica si el token de la llamada más reciente a la función InitializeSecurityContext es el último token del cliente.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.
SECPKG_ATTR_LIFESPAN
2
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_Lifespan .
Consulta el intervalo de vida del contexto.
SECPKG_ATTR_LOCAL_CRED
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_LocalCredentialInfo . (obsoleto)
Reemplazado por SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_Names .
Consulta el nombre asociado al contexto.
SECPKG_ATTR_NATIVE_NAMES
13
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_NativeNames .
Devuelve el nombre principal (CNAME) del vale de salida.
SECPKG_ATTR_NEGOTIATION_INFO
12
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_NegotiationInfo .
Devuelve información sobre el paquete de seguridad que se va a usar con el proceso de negociación y el estado actual de la negociación para el uso de ese paquete.
SECPKG_ATTR_PACKAGE_INFO
10
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_PackageInfo .
Devuelve información sobre el SSP en uso.
SECPKG_ATTR_PASSWORD_EXPIRY
8
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_PasswordExpiry .
Devuelve información de expiración de contraseña.
SECPKG_ATTR_ROOT_STORE
0x55
El parámetro pBuffer contiene un puntero a un HCERTCONTEXT.
Busca un contexto de certificado que contiene un certificado proporcionado por el almacén raíz.
SECPKG_ATTR_SESSION_KEY
9
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_SessionKey .
Devuelve información sobre las claves de sesión.
SECPKG_ATTR_SIZES
0
El parámetro pBuffer contiene un puntero a una estructura de SecPkgContext_Sizes .
Consulta los tamaños de las estructuras usadas en las funciones por mensaje.
SECPKG_ATTR_TARGET_INFORMATION
17
El parámetro pBuffer contiene un puntero a una estructura SecPkgContext_TargetInformation .
Devuelve información sobre el nombre del servidor remoto.

 

pBuffer [out]

Puntero a una estructura que recibe los atributos. El tipo de estructura a la que se apunta depende del valor especificado en el parámetro ulAttribute .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es SEC_E_OK.

Si se produce un error en la función, el valor devuelto es un código de error distinto de cero.

Comentarios

La estructura a la que apunta el parámetro pBuffer varía en función del atributo que se consulta. El autor de la llamada debe asignar la propia estructura pBuffer , pero el SSP asigna cualquier memoria necesaria para contener miembros de tamaño variable de la estructura pBuffer . La memoria asignada por el SSP se puede liberar llamando a la función FreeContextBuffer .

Una vez leído el valor de SECPKG_ATTR_REMOTE_CERT_CONTEXT o SECPKG_ATTR_LOCAL_CERT_CONTEXT, el miembro hCertStore se establecerá en un identificador en un almacén de certificados que contenga los certificados intermedios, si existe. Además, la aplicación es responsable de llamar a CertFreeCertificateContext para liberar la memoria usada por el contexto del certificado.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
Sspi.h (incluya Security.h)
Biblioteca
Secur32.lib
Archivo DLL
Secur32.dll
Nombres Unicode y ANSI
QueryContextAttributesW (Unicode) y QueryContextAttributesA (ANSI)

Consulte también

Funciones SSPI

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes