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 |
|
Biblioteca |
|
Archivo DLL |
|
Nombres Unicode y ANSI |
QueryContextAttributesW (Unicode) y QueryContextAttributesA (ANSI) |
Consulte también