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されている場合、または ActionEAPACTION_DoneまたはEAPACTION_SendAndDonedwAuthResultCode が 0 の場合に、認証側で設定する必要があります。

ActionEAPACTION_Authenticateされている場合、配列には、ユーザーの認証に必要な追加の属性 (user-password など) が含まれている場合があります。 認証プロトコルがユーザー名のみを渡す場合、RAS は認証プロバイダーを呼び出してユーザーを認証しません。代わりに、RAS はユーザーの現在の属性を返すだけです。

ActionEAPACTION_DoneまたはEAPACTION_SendAndDoneで、dwAuthResultCode が 0 の場合、配列にはユーザーに割り当てる追加の属性が含まれる場合があります。 これらの属性は、認証プロバイダーによって返されるのと同じ型の属性を上書きします。

認証プロトコルは、 RasEapEnd 関数でこのメモリを解放します。

fInvokeInteractiveUI

RAS が認証プロトコルの対話型 UI を呼び出す必要があるかどうかを指定します。 認証プロトコルによってこのメンバーが TRUE に設定されている場合、RAS は、認証プロトコルによって提供される RasEapInvokeInteractiveUI 関数を呼び出すことによって、対話型 UI を呼び出します。

pUIContextData

RAS が RasEapInvokeInteractiveUI の呼び出しで渡す必要があるコンテキスト データへのポインター。 認証プロトコルは 、RasEapEnd の実装でこのメモリを解放する必要があります。

dwSizeOfUIContextData

RasEapInvokeInteractiveUI の呼び出しで RAS が渡すコンテキスト データのサイズを指定します。

fSaveConnectionData

pConnectionData メンバーが指す情報を RAS で保存するかどうかを指定します。 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 構造を使用して、Microsoft Point-to-Point Encryption (MPPE) セッション キーを返すことができます。 認証プロトコルでは、 raatVendorSpecific 型の属性の値フィールド内に含まれるサブ属性の値フィールドにセッション キーを配置する必要があります ( RAS_AUTH_ATTRIBUTE_TYPE参照)。 サブ属性には、Vendor-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_ATTRIBUTERAS_AUTH_ATTRIBUTE_TYPERFC 2865」を参照してください。

メモ 暗号化キーの属性を書式設定する場合は、MSCHAPv2 とその MS-MPPE-Recv-Keys と MS-MPPE-Send-Keys を使用することを強くお勧めします。これは、MSCHAPv1 とその MS-CHAP-MPPE-Keys ではなく 強力な暗号化 を作成します。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header raseapif.h

こちらもご覧ください

EAP 構造体

拡張認証プロトコル リファレンス

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage