AsymmetricSecurityBindingElement クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非対称暗号化を使用するチャネル セキュリティをサポートするカスタム バインド要素を表します。 このバインド要素は、送信側の認証トークンを使用してメッセージに署名し、受信先のトークンを使用してメッセージを暗号化します。
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
- 継承
- 実装
例
このクラスを使用して、このクラスをセキュリティ バインド要素として含むカスタム バインドを作成する方法を次の例に示します。 この例のコードの詳細については、「 方法: 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 番目に追加される、という順序で配置されます。
このクラスをバインドに追加するには
BindingElementCollection を作成します。
オプションの TransactionFlowBindingElement や ReliableSessionBindingElement など、バインド スタックでこのバインド要素の上になるカスタム バインド要素を作成します。
BindingElementCollection メソッドを使用して、作成した要素を上記の順で InsertItem(Int32, BindingElement) に追加します。
AsymmetricSecurityBindingElement インスタンスを作成して、コレクションに追加します。
TcpTransportBindingElement など、追加のカスタム バインド要素があればコレクションに追加します。
このクラスを使用する前に、標準バインドがセキュリティ要件を満たしているかどうかを判断する必要があります。
注意
このオブジェクトのインスタンスが一度作成されると、基本クラス SecurityBindingElement のプロパティを変更不可として扱う必要があります。 一部のプロパティで set を呼び出すと、予期しない結果になることがあります。プロパティに古い値が保持されているかのようにバインドが動作し、この問題が発生したことを示すのが、ランタイム エラーのみとなる場合があります。 このように動作することがわかっているプロパティは KeyType と MessageSecurityVersion の 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) |
メソッド
明示的なインターフェイスの実装
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
バインディングに関するカスタム ポリシー アサーションをエクスポートします。エクスポートしたアサーションは、Web サービス記述言語 (WSDL) の情報に追加されます。 |
適用対象
.NET