SecBuffer 構造体 (sspi.h)

SecBuffer 構造体は、セキュリティ パッケージに渡すためにトランスポート アプリケーションによって割り当てられたバッファーを表します。

構文

typedef struct _SecBuffer {
  unsigned long cbBuffer;
  unsigned long BufferType;
#if ...
  char          *pvBuffer;
#else
  void SEC_FAR  *pvBuffer;
#endif
} SecBuffer, *PSecBuffer;

メンバー

cbBuffer

pvBuffer メンバーが指すバッファーのサイズをバイト単位で指定します。

BufferType

バッファーの種類を示すビット フラグ。 BufferType は、次のいずれかのフラグである必要があります。

意味
SECBUFFER_ALERT
17 (0x11)
バッファーにはアラート メッセージが含まれています。
SECBUFFER_ATTRMASK
4026531840 (0xF0000000)
バッファーには、SECBUFFER_READONLY_WITH_CHECKSUM バッファーのビットマスクが含まれています。
SECBUFFER_CHANNEL_BINDINGS
14 (0xE)
バッファーには、チャネル バインド情報が含まれています。
SECBUFFER_CHANGE_PASS_RESPONSE
15 (0xF)
バッファーには 、DOMAIN_PASSWORD_INFORMATION 構造体が含まれています。
SECBUFFER_DATA
1 (0x1)
バッファーには共通データが含まれています。 セキュリティ パッケージでは、このデータの一部またはすべてを暗号化するために、このデータの読み取りと書き込みを行うことができます。
SECBUFFER_DTLS_MTU
24 (0x18)
バッファーには、DTLS のみの最大伝送単位 (MTU) サイズの設定が含まれています。 既定値は 1096 で、有効な構成可能範囲は 200 ~ 64*1024 です。
SECBUFFER_EMPTY
0 (0x0)
これはバッファー配列のプレースホルダーです。 呼び出し元は配列にこのようなエントリをいくつか指定でき、セキュリティ パッケージはそれらの中の情報を返すことができます。 詳細については、「 SSPI コンテキスト セマンティクス」を参照してください。
SECBUFFER_EXTRA
5 (0x5)
セキュリティ パッケージでは、この値を使用して、メッセージ内の余分または未処理のバイト数を示します。
SECBUFFER_MECHLIST
11 (0xB)
バッファーには、プロトコル固有の オブジェクト識別子 (OID) の一覧が含まれています。 通常、呼び出し元には関心がありません。
SECBUFFER_MECHLIST_SIGNATURE
12 (0xC)
バッファーには、 SECBUFFER_MECHLIST バッファーのシグネチャが含まれています。 通常、呼び出し元には関心がありません。
SECBUFFER_MISSING
4 (0x4)
セキュリティ パッケージでは、この値を使用して、特定のメッセージに不足しているバイト数を示します。 この型では 、pvBuffer メンバーは無視されます。
SECBUFFER_PKG_PARAMS
3 (0x3)
これらは、トランスポートからパッケージへの固有のパラメーターです。 たとえば、NetWare リダイレクターはサーバー オブジェクト識別子を指定し、DCE RPC では関連付け UUID などを指定できます。
SECBUFFER_PRESHARED_KEY
22 (0x16)
バッファーには、事前共有キーが含まれています。 許容される PSK バッファー の最大サイズは 256 バイトです。
SECBUFFER_PRESHARED_KEY_IDENTITY
23 (0x17)
バッファーには、事前共有キー ID が含まれています。
SECBUFFER_SRTP_MASTER_KEY_IDENTIFIER
20 (0x14)
バッファーには、SRTP マスター キー識別子が含まれています。
SECBUFFER_SRTP_PROTECTION_PROFILES
19 (0x13)
バッファーには、優先順位の降順で SRTP 保護プロファイルの一覧が含まれています。
SECBUFFER_STREAM_HEADER
7 (0x7)
バッファーには、特定のレコードのプロトコル固有のヘッダーが含まれています。 通常、呼び出し元には関心がありません。
SECBUFFER_STREAM_TRAILER
6 (0x6)
バッファーには、特定のレコードのプロトコル固有のトレーラーが含まれています。 通常、呼び出し元には関心がありません。
SECBUFFER_TARGET
13 (0xD)
このフラグは予約されています。 使用しないでください。
SECBUFFER_TARGET_HOST
16 (0x10)
バッファーは、ターゲットの サービス プリンシパル名 (SPN) を指定します。

この値は、チャネル バインドと共に使用する場合、Digest セキュリティ パッケージでサポートされます。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。

SECBUFFER_TOKEN
2 (0x2)
バッファーには、メッセージのセキュリティ トークン部分が含まれています。 これは、入力パラメーターの場合は読み取り専用、出力パラメーターの場合は読み取り/書き込みです。
SECBUFFER_TOKEN_BINDING
21 (0x15)
バッファーには、サポートされているトークン バインド プロトコルのバージョンとキー パラメーターが、優先順位の降順で含まれています。
SECBUFFER_APPLICATION_PROTOCOLS
18
バッファーには、アプリケーション プロトコル ID の一覧が含まれています。有効にするアプリケーション プロトコル ネゴシエーション拡張機能の種類ごとに 1 つのリストです。
 

さらに、 BufferType では、ビットごとの OR 演算を使用して、次のフラグを前の表の任意のフラグと組み合わせることができます。

意味
SECBUFFER_READONLY
2147483648 (0x80000000)
バッファーは読み取り専用で、チェックサムはありません。 このフラグは、チェックサムを計算するためのヘッダー情報をセキュリティ パッケージに送信するためのものです。 パッケージはこのバッファーを読み取ることができますが、変更することはできません。
SECBUFFER_READONLY_WITH_CHECKSUM
268435456 (0x10000000)
バッファーはチェックサムを使用して読み取り専用です。

pvBuffer

バッファーへのポインター。

要件

要件
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリのみ]
Header sspi.h (Security.h を含む)

こちらもご覧ください

SecBufferDesc