Поделиться через


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. Создайте таблицу BindingElementCollection.

  2. Создайте элементы пользовательской привязки, которые располагаются в стеке привязок выше этого элемента привязки, например необязательные элементы TransactionFlowBindingElement и ReliableSessionBindingElement.

  3. Добавьте созданные элементы в упомянутом выше порядке в коллекцию BindingElementCollection с использованием метода InsertItem(Int32, BindingElement).

  4. Создайте экземпляр элемента AsymmetricSecurityBindingElement и добавьте его в коллекцию.

  5. Добавьте в коллекцию любые дополнительные элементы пользовательской привязки, такие как TcpTransportBindingElement.

Прежде чем использовать этот класс, необходимо определить, соответствует ли стандартная привязка требованиям безопасности.

Примечание

После создания экземпляра этого объекта к свойствам его базового класса SecurityBindingElement следует относиться как к неизменяемым. Вызов набора для некоторых свойств может иметь непредсказуемые последствия: привязка может повести себя, как если бы свойство сохранило свое прежнее значение, а на проблему может указывать только ошибка времени выполнения. Известно, что так ведут себя два свойства: KeyType и MessageSecurityVersion. Возможно, это справедливо и для других свойств.

Конструкторы

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)

Экспортирует связанное с привязками утверждение пользовательской политики, добавляемое в информацию WSDL.

Применяется к