次の方法で共有


WsCreateXmlSecurityToken 関数 (webservices.h)

指定した XML フォームからセキュリティ トークンを作成します。

構文

HRESULT WsCreateXmlSecurityToken(
  [in]           WS_XML_BUFFER                        *tokenXml,
  [in, optional] WS_SECURITY_KEY_HANDLE               *tokenKey,
                 const WS_XML_SECURITY_TOKEN_PROPERTY *properties,
  [in]           ULONG                                propertyCount,
                 WS_SECURITY_TOKEN                    **token,
  [in, optional] WS_ERROR                             *error
);

パラメーター

[in] tokenXml

XML 形式のセキュリティ トークンを含む WS_XML_BUFFER 構造体へのポインター。 参照されるバッファーには、最上位レベルの XML 要素が 1 つだけ必要です。

[in, optional] tokenKey

暗号化所有証明 キーが含 まれている場合と含まれていない可能性があるSECURITY_KEY_HANDLE構造体へのポインター。 存在する場合、キーを使用してこのセキュリティ トークンをメッセージにバインドできます。 tokenKey パラメーターの値が NULL でない場合、トークンには所有証明キーがあると見なされます。 値が NULL の場合、構造体は以下に定義されている "ベアラー トークン" であると見なされます。

  • 基本トークンまたはキーレス トークンとも呼ばれるベアラー トークンは、メッセージでシリアル化され、メッセージがトークンを所有していることを示し、トークンからの要求をそのメッセージに適用する意図を示します。
  • PoP または暗号化トークンとも呼ばれる所有証明トークンには、トークンの所有を示し、トークンからの要求をそのメッセージに適用する意図を示すために、メッセージに "署名" するために使用する必要がある暗号化キーが関連付けられています。 たとえば、X.509 証明書です。メッセージは、受信プリンシパルが証明書に存在するクレームを保持するメッセージとして受け入れるために、証明書の秘密キーで署名する必要があります。

properties

XML セキュリティ トークンの省略可能なプロパティを含む WS_XML_SECURITY_TOKEN_PROPERTY 構造体の配列。

このパラメーターの値は NULL である可能性があります。この場合、 propertyCount パラメーターは 0 (ゼロ) である必要があります。

[in] propertyCount

プロパティ配列内の プロパティ の数。

token

成功した場合、作成された XML セキュリティ トークンを表す WS_SECURITY_TOKEN 構造体のアドレスを受け取るポインター。

この構造体が不要になった場合は、 WsFreeSecurityToken を呼び出して解放する必要があります。

返されたセキュリティ トークンは、 WS_XML_TOKEN_MESSAGE_SECURITY_BINDING と共に使用できます (その場合)

サービスに提示されます。

[in, optional] error

関数が失敗した場合に追加のエラー情報を受け取る WS_ERROR 構造体へのポインター。

戻り値

関数が成功した場合は、NO_ERRORを返します。それ以外の場合は、HRESULT エラー コードを返します。

リターン コード 説明
E_INVALIDARG
1 つ以上の引数が無効です。
E_OUTOFMEMORY
操作を完了するためのメモリ不足。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー webservices.h
Library WebServices.lib
[DLL] WebServices.dll