SaslInitializeSecurityContextA 関数 (sspi.h)
構文
SECURITY_STATUS SEC_ENTRY SaslInitializeSecurityContextA(
[in] PCredHandle phCredential,
[in] PCtxtHandle phContext,
[in] LPSTR pszTargetName,
[in] unsigned long fContextReq,
[in] unsigned long Reserved1,
[in] unsigned long TargetDataRep,
[in] PSecBufferDesc pInput,
[in] unsigned long Reserved2,
[out] PCtxtHandle phNewContext,
[in, out] PSecBufferDesc pOutput,
[out] unsigned long *pfContextAttr,
[out, optional] PTimeStamp ptsExpiry
);
パラメーター
[in] phCredential
資格情報へのハンドル 返されます。
AcquireCredentialsHandleセキュリティ コンテキストの構築に使用される関数です。
SaslInitializeSecurityContext 関数を使用するには、少なくとも OUTBOUND 資格情報が必要です。
[in] phContext
CtxtHandle 構造体へのポインター。
[in] pszTargetName
コンテキストのターゲットを示す Unicode または ANSI 文字列へのポインター。
[in] fContextReq
コンテキストの要件を示すビット フラグ。 このパラメーターに使用されるフラグには、プレフィックスとして ISC_REQ_ が付いています。例: ISC_REQ_DELEGATE。 次の属性フラグの組み合わせを指定します。
さまざまな属性の詳細については、「コンテキスト要件
[in] Reserved1
予約値。は 0 にする必要があります。
[in] TargetDataRep
ターゲットのデータ表現 (バイト順序など) を示します。 SECURITY_NATIVE_DREPまたはSECURITY_NETWORK_DREPにすることができます。
[in] pInput
パッケージへの入力として指定されたバッファーへのポインターを含む SecBufferDesc 構造体へのポインター。 ポインターは、関数の最初の呼び出しで NULL
SASL には、サーバーから受信したチャレンジを含む型 SECBUFFER_TOKEN のバッファーが 1 つ必要です。
[in] Reserved2
予約値。は 0 にする必要があります。
[out] phNewContext
CtxtHandle 構造体へのポインター。
SaslInitializeSecurityContext 関数の最初の呼び出しで、このポインターは新しいコンテキスト ハンドルを受け取ります。 2 番目の呼び出しでは、phNewContext
[in, out] pOutput
出力データを受け取る SecBuffer 構造体へのポインターを含む、SecBufferDesc 構造体へのポインター。 バッファーが入力にSEC_READWRITEとして型指定された場合は、出力時にそのバッファーが存在します。 システムは、要求された場合 (ISC_REQ_ALLOCATE_MEMORYを介して) セキュリティ トークンのバッファーを割り当て、セキュリティ トークンのバッファー記述子のアドレスを入力します。
[out] pfContextAttr
確立された
このパラメーターに使用されるフラグには、ISC_RET_DELEGATEなどのISC_RET_がプレフィックスとして付けられます。
有効な値の一覧については、fContextReq パラメーター
最後の関数呼び出しが正常に返されるまで、セキュリティ関連の属性を確認しないでください。 セキュリティに関連しない属性フラグ (ASC_RET_ALLOCATED_MEMORY フラグなど) は、最終的な戻り値の前に確認できます。
[out, optional] ptsExpiry
コンテキストの有効期限を受け取る TimeStamp 構造体へのポインター。 セキュリティ パッケージでは、常にローカル時刻でこの値を返 することをお勧めします。 このパラメーターは省略可能であり、有効期間の短いクライアント NULL を渡す必要があります。
戻り値
呼び出しが正常に完了すると、この関数はSEC_E_OKを返します。 次の表は、エラーの戻り値の可能性を示しています。
リターン コード | 形容 |
---|---|
|
認証処理は許可されていません。 |
|
要求を完了するのに十分なメモリがありません。 |
|
pOutput パラメーターにトークン バッファーが存在しないか、メッセージの暗号化を解除できませんでした。 |
備考
手記
sspi.h ヘッダーは、SaslInitializeSecurityContext をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルまたは実行時エラーが発生する不一致につながる可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | サポートされていません |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | sspi.h (Security.h を含む) |
ライブラリ | Secur32.lib |
DLL | Secur32.dll |