estrutura PPP_EAP_OUTPUT (raseapif.h)

O protocolo de autenticação usa a estrutura PPP_EAP_OUTPUT para comunicar solicitações e status informações à Gerenciador de Conexões no retorno de chamadas para RasEapMakeMessage.

Sintaxe

typedef struct _PPP_EAP_OUTPUT {
  DWORD              dwSizeInBytes;
  PPP_EAP_ACTION     Action;
  DWORD              dwAuthResultCode;
  RAS_AUTH_ATTRIBUTE *pUserAttributes;
  BOOL               fInvokeInteractiveUI;
  PBYTE              pUIContextData;
  DWORD              dwSizeOfUIContextData;
  BOOL               fSaveConnectionData;
  PBYTE              pConnectionData;
  DWORD              dwSizeOfConnectionData;
  BOOL               fSaveUserData;
  PBYTE              pUserData;
  DWORD              dwSizeOfUserData;
  NgcTicketContext   *pNgcKerbTicket;
  BOOL               fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;

Membros

dwSizeInBytes

Especifica o tamanho dessa estrutura.

Action

Especifica um valor PPP_EAP_ACTION . O Gerenciador de Conexões executa essa ação em nome do protocolo de autenticação.

dwAuthResultCode

Especifica se a autenticação foi bem-sucedida. Qualquer valor diferente de zero para dwAuthResultCode indica falha. O código de falha deve vir de Winerror.h, Raserror.h ou Mprerror.h. Esse membro só será válido se o membro Action tiver um valor de EAPACTION_Done ou EAPACTION_SendAndDone.

pUserAttributes

Ponteiro para uma matriz opcional de estruturas de RAS_AUTH_ATTRIBUTE . A matriz é encerrada por uma estrutura com um membro raaType que tem um valor de raatMinimum (consulte RAS_AUTH_ATTRIBUTE_TYPE).

Esse membro deve ser definido no lado do autenticador quando a Ação é EAPACTION_Authenticate ou quando Action é EAPACTION_Done ou EAPACTION_SendAndDone e dwAuthResultCode é zero.

Quando a Ação é EAPACTION_Authenticate, a matriz pode conter atributos adicionais necessários para autenticar o usuário, por exemplo, a senha do usuário. Se o protocolo de autenticação passar apenas o nome de usuário, o RAS não invocará o provedor de autenticação para autenticar o usuário. Em vez disso, o RAS apenas passará de volta os atributos atuais para o usuário.

Quando Action é EAPACTION_Done ou EAPACTION_SendAndDone e dwAuthResultCode é zero, a matriz pode conter atributos adicionais a serem atribuídos ao usuário. Esses atributos substituem todos os atributos do mesmo tipo retornados pelo provedor de autenticação.

O protocolo de autenticação libera essa memória em sua função RasEapEnd .

fInvokeInteractiveUI

Especifica se o RAS deve invocar a interface do usuário interativa do protocolo de autenticação. Se o protocolo de autenticação definir esse membro como TRUE, RAS invocará a interface do usuário interativa chamando a função RasEapInvokeInteractiveUI fornecida pelo protocolo de autenticação.

pUIContextData

Ponteiro para dados de contexto que RAS deve passar na chamada para RasEapInvokeInteractiveUI. O protocolo de autenticação deve liberar essa memória em sua implementação de RasEapEnd.

dwSizeOfUIContextData

Especifica o tamanho dos dados de contexto que o RAS deve passar na chamada para RasEapInvokeInteractiveUI.

fSaveConnectionData

Especifica se o RAS deve salvar as informações apontadas pelo membro pConnectionData . Se fSaveConnectionData for TRUE, RAS salvará os dados na lista telefônica. Válido apenas para o processo que está sendo autenticado.

pConnectionData

Identifica dados específicos da conexão, ou seja, dados não específicos a nenhum usuário específico. Se o membro fSaveConnectionData for TRUE, RAS salvará os dados de conexão na lista telefônica. O protocolo de autenticação deve liberar a memória ocupada por esses dados durante a chamada para RasEapEnd.

dwSizeOfConnectionData

Especifica o tamanho, em bytes, dos dados apontados pelo membro pConnectionData .

fSaveUserData

Especifica se o RAS deve salvar os dados do usuário apontados pelo membro pUserData . Se esse parâmetro for TRUE, RAS salvará os dados específicos do usuário no registro em HKEY_CURRENT_USER.

pUserData

Ponteiro para os dados do usuário que o RAS deve salvar no registro. RAS salva esses dados no registro em HKEY_CURRENT_USER. O protocolo de autenticação deve liberar essa memória durante a chamada para RasEapEnd.

dwSizeOfUserData

Especifica o tamanho em bytes dos dados apontados por pUserData.

pNgcKerbTicket

fSaveToCredMan

Comentários

Use a função RasEapMakeMessage para passar a estrutura PPP_EAP_OUTPUT entre o protocolo de autenticação e o Gerenciador de Conexões.

O protocolo de autenticação pode usar a estrutura PPP_EAP_OUTPUT para retornar as chaves de sessão MPPE (Criptografia Ponto a Ponto) da Microsoft. O protocolo de autenticação deve colocar as chaves de sessão no campo de valor de um sub-atributo contido no campo de valor de um atributo do tipo raatVendorSpecific (consulte RAS_AUTH_ATTRIBUTE_TYPE). O sub-atributo deve ter uma ID do fornecedor 311 (Microsoft) e tipo de fornecedor de MS-MPPE-Recv-Keys (17) e MS-MPPE-Send-Keys (16). O protocolo de autenticação deve definir o membro pUserAttributes para apontar para o atributo raatVendorSpecific e definir o membro Action como EAPACTION_Done ou EAPACTION_SendAndDone. Para obter mais informações sobre o formato do subpropósitório MPPE, consulte Atributos RADIUS específicos do fornecedor da Microsoft. Para obter mais informações sobre formatos de atributo, consulte RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE e RFC 2865.

Nota Ao formatar atributos para chaves de criptografia, é altamente recomendável que você use MSCHAPv2 e suas CHAVES MS-MPPE-Recv e MS-MPPE-Send-Keys, que criam criptografia forte em vez de MSCHAPv1 e suas CHAVES MS-CHAP-MPPE.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho raseapif.h

Confira também

Estruturas do EAP

Referência de protocolo de autenticação extensível

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

Raseapinvokeinteractiveui

Raseapmakemessage