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


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, SecurityTokenParameters)

Инициализирует новый экземпляр AsymmetricSecurityBindingElement с указанными параметрами маркера получателя и инициатора.

AsymmetricSecurityBindingElement(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).

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