AsymmetricSecurityBindingElement クラス

定義

非対称暗号化を使用するチャネル セキュリティをサポートするカスタム バインド要素を表します。 このバインド要素は、送信側の認証トークンを使用してメッセージに署名し、受信先のトークンを使用してメッセージを暗号化します。

public ref class AsymmetricSecurityBindingElement sealed : System::ServiceModel::Channels::SecurityBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class AsymmetricSecurityBindingElement : System.ServiceModel.Channels.SecurityBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type AsymmetricSecurityBindingElement = class
    inherit SecurityBindingElement
    interface IPolicyExportExtension
Public NotInheritable Class AsymmetricSecurityBindingElement
Inherits SecurityBindingElement
Implements IPolicyExportExtension
継承
AsymmetricSecurityBindingElement
実装

このクラスを使用して、このクラスをセキュリティ バインド要素として含むカスタム バインドを作成する方法を次の例に示します。 この例のコードの詳細については、「 方法: X.509 証明書を一貫して参照する」を参照してください。

public Binding CreateClientBinding()
{
    AsymmetricSecurityBindingElement abe =
        (AsymmetricSecurityBindingElement)SecurityBindingElement.
        CreateMutualCertificateBindingElement(
        MessageSecurityVersion.
        WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10);

    abe.SetKeyDerivation(false);

    X509SecurityTokenParameters istp =
       abe.InitiatorTokenParameters as X509SecurityTokenParameters;
    if (istp != null)
    {
        istp.X509ReferenceStyle =
        X509KeyIdentifierClauseType.IssuerSerial;
    }
    X509SecurityTokenParameters rstp =
    abe.RecipientTokenParameters as X509SecurityTokenParameters;
    if (rstp != null)
    {
        rstp.X509ReferenceStyle =
        X509KeyIdentifierClauseType.IssuerSerial;
    }

    HttpTransportBindingElement transport =
        new HttpTransportBindingElement();

    return new CustomBinding(abe, transport);
}
Public Function CreateClientBinding() As Binding
    Dim abe As AsymmetricSecurityBindingElement = CType(SecurityBindingElement.CreateMutualCertificateBindingElement(MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10), AsymmetricSecurityBindingElement)

    abe.SetKeyDerivation(False)

    Dim istp As X509SecurityTokenParameters = TryCast(abe.InitiatorTokenParameters, X509SecurityTokenParameters)
    If istp IsNot Nothing Then
        istp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial
    End If
    Dim rstp As X509SecurityTokenParameters = TryCast(abe.RecipientTokenParameters, X509SecurityTokenParameters)
    If rstp IsNot Nothing Then
        rstp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial
    End If

    Dim transport As New HttpTransportBindingElement()

    Return New CustomBinding(abe, transport)
End Function

注釈

カスタム バインドには、特定の順序で配置されたバインド要素のコレクションが含まれます。バインド スタックの一番上を表す要素が最初に追加され、バインド スタックの 1 つ下の要素が 2 番目に追加される、という順序で配置されます。

このクラスをバインドに追加するには

  1. BindingElementCollection を作成します。

  2. オプションの TransactionFlowBindingElementReliableSessionBindingElement など、バインド スタックでこのバインド要素の上になるカスタム バインド要素を作成します。

  3. BindingElementCollection メソッドを使用して、作成した要素を上記の順で InsertItem(Int32, BindingElement) に追加します。

  4. AsymmetricSecurityBindingElement インスタンスを作成して、コレクションに追加します。

  5. TcpTransportBindingElement など、追加のカスタム バインド要素があればコレクションに追加します。

このクラスを使用する前に、標準バインドがセキュリティ要件を満たしているかどうかを判断する必要があります。

注意

このオブジェクトのインスタンスが一度作成されると、基本クラス SecurityBindingElement のプロパティを変更不可として扱う必要があります。 一部のプロパティで set を呼び出すと、予期しない結果になることがあります。プロパティに古い値が保持されているかのようにバインドが動作し、この問題が発生したことを示すのが、ランタイム エラーのみとなる場合があります。 このように動作することがわかっているプロパティは KeyTypeMessageSecurityVersion の 2 つです。 他にも同じように動作するプロパティが存在する可能性があります。

コンストラクター

AsymmetricSecurityBindingElement()

このクラスのインスタンスを作成します。

AsymmetricSecurityBindingElement(SecurityTokenParameters)

指定した受信者トークン パラメーターを使用して、AsymmetricSecurityBindingElement クラスの新しいインスタンスを初期化します。

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

指定した受信者とイニシエーターのトークン パラメーターを使用して、AsymmetricSecurityBindingElement クラスの新しいインスタンスを初期化します。

プロパティ

AllowInsecureTransport

セキュリティで保護された混合モードのメッセージを、HTTP などのセキュリティで保護されていないトランスポートを介して送信できるかどうかを示す値を取得または設定します。

(継承元 SecurityBindingElement)
AllowSerializedSigningTokenOnReply

応答メッセージの署名トークンのシリアル化が許されるかどうかを示す値を取得または設定します。

DefaultAlgorithmSuite

メッセージの暗号化とキー ラップ アルゴリズムを取得または設定します。

(継承元 SecurityBindingElement)
EnableUnsecuredResponse

WCF がセキュリティで保護された要求に対するセキュリティで保護されていない応答を送受信できるかどうかを示す値を取得または設定します。

(継承元 SecurityBindingElement)
EndpointSupportingTokenParameters

トークン パラメーターをサポートするエンドポイントを取得します。

(継承元 SecurityBindingElement)
IncludeTimestamp

各メッセージにタイム スタンプが含まれるかどうかを示す値を取得または設定します。

(継承元 SecurityBindingElement)
InitiatorTokenParameters

イニシエーターに対するトークン定義を指定します。

KeyEntropyMode

キーの作成に使用されるエントロピのソースを取得または設定します。

(継承元 SecurityBindingElement)
LocalClientSettings

クライアントが使用するローカル セキュリティ設定に固有のバインド プロパティを取得します。

(継承元 SecurityBindingElement)
LocalServiceSettings

サービスが使用するローカル セキュリティ設定に固有のバインド プロパティを取得します。

(継承元 SecurityBindingElement)
MessageProtectionOrder

このバインドのメッセージの暗号化と署名の命令を取得または設定します。

MessageSecurityVersion

メッセージ セキュリティのバージョンを取得または設定します。

(継承元 SecurityBindingElement)
OperationSupportingTokenParameters

トークン パラメーターをサポートする操作のコレクションを取得します。

(継承元 SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

サービス エンドポイントに対するオプションのサポート トークン パラメーターを取得します。

(継承元 SecurityBindingElement)
OptionalOperationSupportingTokenParameters

トークン パラメーターをサポートするオプション操作のコレクションを取得します。

(継承元 SecurityBindingElement)
ProtectTokens

セキュリティ バインディング要素がトークンを保護するかどうかを取得または設定します。

(継承元 SecurityBindingElement)
RecipientTokenParameters

受信先に対するトークン定義を指定します。

RequireSignatureConfirmation

メッセージの署名を確認する必要があるかどうかを示す値を取得または設定します。

SecurityHeaderLayout

このバインドのセキュリティ ヘッダー内の要素の順序を取得または設定します。

(継承元 SecurityBindingElement)

メソッド

BuildChannelFactory<TChannel>(BindingContext)

指定する SecurityBindingElement の設定とバインド コンテキストに基づいて、チャネル ファクトリを作成します。 作成されるチャネル ファクトリは SOAP メッセージ セキュリティ チャネル ファクトリで、内部的にバインディング コンテキスト (トランスポート チャネル ファクトリを格納する) に対応するチャネル ファクトリへの参照を保持します。

(継承元 SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

実装されると、指定した種類のチャネル ファクトリを作成します。

(継承元 SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

指定する SecurityBindingElement の設定とバインディング コンテキストに基づいて、チャネル リスナーを作成します。

(継承元 SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

実装されると、指定した種類のチャネル リスナーを作成します。

(継承元 SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

指定した種類のチャネル ファクトリを作成できるかどうかを判断します。

(継承元 SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

指定した種類のチャネル リスナーを作成できるかどうかを判断します。

(継承元 SecurityBindingElement)
Clone()

このクラスの新しいインスタンスを作成し、現在のインスタンスで初期化します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperty<T>(BindingContext)

BindingContext から指定したオブジェクトを取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SetKeyDerivation(Boolean)

派生キーが必要かどうかを示す値を設定します。

ToString()

この AsymmetricSecurityBindingElement インスタンスを表す文字列を返します。

明示的なインターフェイスの実装

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

バインディングに関するカスタム ポリシー アサーションをエクスポートします。エクスポートしたアサーションは、Web サービス記述言語 (WSDL) の情報に追加されます。

適用対象