Función de devolución de llamada SpAcceptLsaModeContextFn (ntsecpkg.h)
Función de distribución de servidor usada para crear un contexto de seguridad compartido por un servidor y un cliente.
Se llama a la función SpAcceptLsaModeContext cuando el servidor llama a la función AcceptSecurityContext (General) de la interfaz del proveedor de soporte técnico de seguridad.
Sintaxis
SpAcceptLsaModeContextFn Spacceptlsamodecontextfn;
NTSTATUS Spacceptlsamodecontextfn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in] LSA_SEC_HANDLE ContextHandle,
[in] PSecBufferDesc InputBuffer,
[in] ULONG ContextRequirements,
[in] ULONG TargetDataRep,
[out] PLSA_SEC_HANDLE NewContextHandle,
[out] PSecBufferDesc OutputBuffer,
[out] PULONG ContextAttributes,
[out] PTimeStamp ExpirationTime,
[out] PBOOLEAN MappedContext,
[out] PSecBuffer ContextData
)
{...}
Parámetros
[in] CredentialHandle
Opcional. Controle las credenciales que se van a usar para el contexto.
[in] ContextHandle
Opcional. Controle el contexto actual.
[in] InputBuffer
Puntero a una estructura SecBufferDesc que contiene información del cliente.
[in] ContextRequirements
Marcas que indican los requisitos de contexto. En la tabla siguiente, se enumeran los valores válidos.
Valor | Significado |
---|---|
|
El servidor puede suplantar al cliente. |
|
Tanto el cliente como el servidor son necesarios para demostrar su identidad. |
|
El contexto de seguridad admitirá la detección de paquetes reproducidos. |
|
El contexto de seguridad admitirá la detección de mensajes desordenados. |
|
Se debe negociar una nueva clave de sesión . |
|
Si el cliente es un usuario interactivo, el paquete debe, si es posible, solicitar al usuario las credenciales adecuadas. |
|
El búfer de entrada contiene información de credenciales específicas del paquete que se debe usar para autenticar la conexión. |
|
El paquete debe asignar memoria. El autor de la llamada debe llamar finalmente a la función FreeContextBuffer para liberar memoria asignada por el paquete de seguridad. |
|
El autor de la llamada espera una transacción de autenticación mutua de tres patas. |
|
Se debe usar un canal de comunicaciones de tipo datagrama. Para obtener más información, vea Contextos de datagrama. |
|
Se debe usar un canal de comunicaciones de tipo de conexión. Para obtener más información, vea Contextos orientados a conexiones. |
|
Si se produce un error en el contexto, genere un mensaje de respuesta de error para devolverlo al cliente. |
|
Se debe usar un canal de comunicaciones de tipo de flujo. Para obtener más información, consulte Stream Contextos. |
|
Se puede comprobar la integridad del búfer; Sin embargo, no se detectarán mensajes reproducidos y fuera de secuencia. |
[in] TargetDataRep
Marca que indica la representación de datos, como el orden de bytes, que se va a usar. Contiene SECURITY_NATIVE_DREP o SECURITY_NETWORK_DREP.
[out] NewContextHandle
Puntero a un LSA_SEC_HANDLE. En la primera llamada a AcceptSecurityContext, este puntero recibe el nuevo identificador de contexto. En las llamadas posteriores, NewContextHandle puede ser el mismo que el identificador especificado en el parámetro ContextHandle .
[out] OutputBuffer
Puntero a una estructura SecBufferDesc que recibe información que se va a enviar al cliente.
[out] ContextAttributes
Puntero a marcas que especifican los atributos de contexto que admite el servidor. Para obtener una lista de valores válidos, consulte el parámetro ContextRequirements .
[out] ExpirationTime
Puntero a timeStamp que recibe la hora de expiración del contexto.
[out] MappedContext
Puntero a un valor booleano. Establezca MappedContext en TRUE si el paquete de seguridad implementa las funciones SSP/AP en modo de usuario.
[out] ContextData
Opcional. Puntero a una estructura SecBuffer que recibe datos específicos del contexto que se van a copiar al crear el contexto de seguridad del modo de usuario. La memoria para ContextData debe asignarse mediante la función AllocateLsaHeap . La autoridad de seguridad local (LSA) liberará la memoria.
Valor devuelto
Si la función SpAcceptLsaModeContext se realiza correctamente y no se requiere más procesamiento para establecer el contexto de seguridad, devuelva STATUS_SUCCESS. Si se requiere procesamiento adicional, la función debe devolver SEC_I_CONTINUE_NEEDED.
Si la función no puede crear el contexto de seguridad por cualquier otro motivo, devuelva un código NTSTATUS que indique el motivo.
Comentarios
SpInitLsaModeContext es la función del lado cliente para crear un contexto de seguridad.
SSP/AP debe implementar la función SpAcceptLsaModeContext . El nombre real que se asigna a la implementación es para el desarrollador.
Hay disponible un puntero a la función SpAcceptLsaModeContext en la estructura de SECPKG_FUNCTION_TABLE recibida de la función SpLsaModeInitialize .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ntsecpkg.h |