다음을 통해 공유


PPP_EAP_OUTPUT 구조체(raseapif.h)

인증 프로토콜은 PPP_EAP_OUTPUT 구조를 사용하여 RasEapMakeMessage 호출에서 반환되는 연결 관리자 요청 및 상태 정보를 전달합니다.

구문

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;

멤버

dwSizeInBytes

이 구조체의 크기를 지정합니다.

Action

PPP_EAP_ACTION 값을 지정합니다. 연결 관리자 인증 프로토콜을 대신하여 이 작업을 수행합니다.

dwAuthResultCode

인증에 성공했는지 여부를 지정합니다. dwAuthResultCode에 대한 0이 아닌 값은 실패를 나타냅니다. 실패 코드는 Winerror.h, Raserror.h 또는 Mprerror.h에서 제공해야 합니다. 이 멤버는 Action 멤버의 값이 EAPACTION_Done 또는 EAPACTION_SendAndDone 경우에만 유효합니다.

pUserAttributes

RAS_AUTH_ATTRIBUTE 구조체의 선택적 배열에 대한 포인터입니다. 배열은 raatMinimum 값이 있는 raaType 멤버가 있는 구조체에 의해 종료됩니다(RAS_AUTH_ATTRIBUTE_TYPE 참조).

Action이 EAPACTION_Authenticate 경우 또는 Action이 EAPACTION_Done또는EAPACTION_SendAndDonedwAuthResultCode가 0인 경우 이 멤버를 인증자 쪽에서 설정해야 합니다.

작업이EAPACTION_Authenticate 경우 배열에는 사용자를 인증하는 데 필요한 추가 특성(예: 사용자 암호)이 포함될 수 있습니다. 인증 프로토콜이 사용자 이름만 전달하는 경우 RAS는 인증 공급자를 호출하여 사용자를 인증하지 않습니다. 대신 RAS는 사용자의 현재 특성을 다시 전달합니다.

작업이EAPACTION_Done 또는 EAPACTION_SendAndDonedwAuthResultCode가 0이면 배열에 사용자에게 할당할 추가 특성이 포함될 수 있습니다. 이러한 특성은 인증 공급자가 반환한 동일한 형식의 특성을 덮어씁 수 있습니다.

인증 프로토콜은 RasEapEnd 함수에서 이 메모리를 해제합니다.

fInvokeInteractiveUI

RAS가 인증 프로토콜의 대화형 UI를 호출해야 하는지 여부를 지정합니다. 인증 프로토콜이 이 멤버를 TRUE로 설정하면 RAS는 인증 프로토콜에서 제공하는 RasEapInvokeInteractiveUI 함수를 호출하여 대화형 UI를 호출합니다.

pUIContextData

RAS가 RasEapInvokeInteractiveUI에 대한 호출에서 전달해야 하는 컨텍스트 데이터에 대한 포인터입니다. 인증 프로토콜은 RasEapEnd 구현에서 이 메모리를 해제해야 합니다.

dwSizeOfUIContextData

RAS가 RasEapInvokeInteractiveUI에 대한 호출에서 전달해야 하는 컨텍스트 데이터의 크기를 지정합니다.

fSaveConnectionData

RAS가 pConnectionData 멤버가 가리키는 정보를 저장할지 여부를 지정합니다. fSaveConnectionDataTRUE이면 RAS는 전화 번호부에 데이터를 저장합니다. 인증되는 프로세스에 대해서만 유효합니다.

pConnectionData

연결과 관련된 데이터, 즉 특정 사용자에 한정되지 않은 데이터를 식별합니다. fSaveConnectionData 멤버가 TRUE이면 RAS는 연결 데이터를 전화 번호부에 저장합니다. 인증 프로토콜은 RasEapEnd를 호출하는 동안 이 데이터가 차지하는 메모리를 해제해야 합니다.

dwSizeOfConnectionData

pConnectionData 멤버가 가리키는 데이터의 크기(바이트)를 지정합니다.

fSaveUserData

RAS가 pUserData 멤버가 가리키는 사용자 데이터를 저장할지 여부를 지정합니다. 이 매개 변수가 TRUE이면 RAS는 레지스트리의 사용자별 데이터를 HKEY_CURRENT_USER 저장합니다.

pUserData

RAS가 레지스트리에 저장해야 하는 사용자 데이터에 대한 포인터입니다. RAS는 이 데이터를 레지스트리의 HKEY_CURRENT_USER 저장합니다. 인증 프로토콜은 RasEapEnd를 호출하는 동안 이 메모리를 해제해야 합니다.

dwSizeOfUserData

pUserData가 가리키는 데이터의 크기(바이트)를 지정합니다.

pNgcKerbTicket

fSaveToCredMan

설명

RasEapMakeMessage 함수를 사용하여 인증 프로토콜과 연결 관리자 간에 PPP_EAP_OUTPUT 구조를 전달합니다.

인증 프로토콜은 PPP_EAP_OUTPUT 구조를 사용하여 MPPE(Microsoft Point-to-Point Encryption) 세션 키를 반환할 수 있습니다. 인증 프로토콜은 raatVendorSpecific 형식의 특성 값 필드에 포함된 하위 특성의 값 필드에 세션 키를 배치해야 합니다( RAS_AUTH_ATTRIBUTE_TYPE 참조). 하위 특성의 공급업체 ID는 311(Microsoft) 및 Vendor-Type의 MS-MPPE-Recv-Keys(17) 및 MS-MPPE-Send-Keys(16)여야 합니다. 인증 프로토콜은 raatVendorSpecific 특성을 가리키도록 pUserAttributes 멤버를 설정하고 Action 멤버를 EAPACTION_Done 또는 EAPACTION_SendAndDone 설정해야 합니다. MPPE 하위 특성의 형식에 대한 자세한 내용은 Microsoft 공급업체별 RADIUS 특성을 참조하세요. 특성 형식에 대한 자세한 내용은 RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPERFC 2865를 참조하세요.

참고 암호화 키에 대한 특성의 서식을 지정할 때 MSCHAPv2 및 MSCHAPv1 및 MS-CHAP-MPPE-Keys 대신 강력한 암호화 를 만드는 MS-MPPE-Recv-Keys 및 MS-MPPE-Send-Keys를 사용하는 것이 좋습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 raseapif.h

추가 정보

EAP 구조체

확장 가능한 인증 프로토콜 참조

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage