Compartir a través de


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
ASC_REQ_DELEGATE
El servidor puede suplantar al cliente.
ASC_REQ_MUTUAL_AUTH
Tanto el cliente como el servidor son necesarios para demostrar su identidad.
ASC_REQ_REPLAY_DETECT
El contexto de seguridad admitirá la detección de paquetes reproducidos.
ASC_REQ_SEQUENCE_DETECT
El contexto de seguridad admitirá la detección de mensajes desordenados.
ASC_REQ_USE_SESSION_KEY
Se debe negociar una nueva clave de sesión .
ASC_REQ_PROMPT_FOR_CREDS
Si el cliente es un usuario interactivo, el paquete debe, si es posible, solicitar al usuario las credenciales adecuadas.
ASC_REQ_USE_SUPPLIED_CREDS
El búfer de entrada contiene información de credenciales específicas del paquete que se debe usar para autenticar la conexión.
ASC_REQ_ALLOCATE_MEMORY
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.
ASC_REQ_USE_DCE_STYLE
El autor de la llamada espera una transacción de autenticación mutua de tres patas.
ASC_REQ_DATAGRAM
Se debe usar un canal de comunicaciones de tipo datagrama. Para obtener más información, vea Contextos de datagrama.
ASC_REQ_CONNECTION
Se debe usar un canal de comunicaciones de tipo de conexión. Para obtener más información, vea Contextos orientados a conexiones.
ASC_REQ_EXTENDED_ERROR
Si se produce un error en el contexto, genere un mensaje de respuesta de error para devolverlo al cliente.
ASC_REQ_STREAM
Se debe usar un canal de comunicaciones de tipo de flujo. Para obtener más información, consulte Stream Contextos.
ASC_REQ_INTEGRITY
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

Consulte también

AllocateLsaHeap

SpInitLsaModeContext

SpLsaModeInitialize