次の方法で共有


WS_XML_TOKEN_MESSAGE_SECURITY_BINDING 構造体 (webservices.h)

XML 形式でアプリケーションで既に使用できるセキュリティ トークンの使用を指定するためのセキュリティ バインディング サブタイプ。 このバインディングでアプリケーションによって提供されるセキュリティ トークンは、指定された bindingUsage に従って、WS-Security ヘッダー内のサービスに提示されます。 このセキュリティ バインディングは、クライアント側でのみ セキュリティの説明 に含めることができます。

このセキュリティ バインディングは、 WS_NAMEDPIPE_CHANNEL_BINDINGではサポートされていません。

このバインディングは XML 形式で使用できる任意のトークンで使用できますが、これは フェデレーション シナリオでよく使用されます。 たとえば、CardSpace などのクライアント側トークン プロバイダーを使用してセキュリティ トークン サービスからトークンを取得し、そのトークンをこのセキュリティ バインディングを使用して Web サービスに提示できます。

セキュリティに関する注意: 他のセキュリティ トークンと資格情報と同様に、アプリケーションは、特定の XML トークン ( セキュリティの説明でアプリケーションによって提供されます) を特定のサーバー ( チャネルを開くときにアプリケーションから提供) に開示するというリスク評価の決定を担当します。 特に、アプリケーションは、サーバーがクライアントから受け取った XML トークンを使用して、サード パーティに対するクライアントのふりをする可能性がある脅威を考慮する必要があります。 この脅威の場合、次の軽減策が存在します。(A) サーバー認証プロセスでは、メッセージ (およびトークン) が、クライアント アプリケーションで指定されたアドレスを読み上げることができるサーバーにのみ送信されます。(B) キーレス (ベアラー) トークンは、通常、1 つのサーバーでのみ使用できます (たとえば、contoso.com のユーザー名/パスワード トークンを別のサイトに渡すことはほとんど得 contoso.com。アプリケーション セキュリティ設計では、このプロパティが保持されていることを確認する必要があります)。(C) 対称キー付きトークンは、同じ対称キーを共有していないサーバーでは使用できません。(D) 非対称キー付きトークンはタイムスタンプと 'To' ヘッダーに署名し、その適用性を目的の 'To' に制限して、限られた期間を過ごします。

このセキュリティ バインドでは、セキュリティ バインドプロパティを指定することはできません。

構文

typedef struct _WS_XML_TOKEN_MESSAGE_SECURITY_BINDING {
  WS_SECURITY_BINDING       binding;
  WS_MESSAGE_SECURITY_USAGE bindingUsage;
  WS_SECURITY_TOKEN         *xmlToken;
} WS_XML_TOKEN_MESSAGE_SECURITY_BINDING;

メンバー

binding

このセキュリティ バインド サブタイプとその他のすべてのセキュリティ バインディング サブタイプの派生元となる基本型。

bindingUsage

このセキュリティ バインディングに対応するセキュリティ トークンをメッセージにバインドする方法。

WS_SUPPORTING_MESSAGE_SECURITY_USAGEのみがサポートされています。 この使用により、このセキュリティ バインディングはクライアント認証を提供しますが、メッセージ保護 (署名、暗号化、再生検出など) は提供しません。 したがって、このバインディングは、保護されたチャネルを提供する WS_SSL_TRANSPORT_SECURITY_BINDING などの別のセキュリティ バインドと共に使用する必要があります。

xmlToken

使用する XML セキュリティ トークン。 このトークンは 、WsCreateXmlSecurityToken を使用して作成するか、 WsRequestSecurityToken を使用してセキュリティ トークン サービスから取得できます。 このバインディングをチャネルの作成に使用すると、指定されたトークンのコピーが作成され、内部使用のために保持されます。アプリケーションは、指定されたトークンを引き続き所有し、チャネル作成呼び出しが戻った後に いつでも WsFreeSecurityToken を使用して削除します。

要件

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