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
- Наследование
- Реализации
Примеры
В следующем примере показано, как использовать этот класс для создания пользовательской привязки, которая включает этот класс в качестве элемента привязки безопасности. Дополнительные сведения о коде в этом примере см. в разделе Практическое руководство. Согласованное использование сертификатов 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
Комментарии
Пользовательская привязка содержит коллекцию элементов привязки, упорядоченных в определенном порядке: элемент, представляющий верхнюю часть стека привязки, добавляется сначала, следующий элемент вниз в стеке привязки, добавляется второй и т. д.
Добавление этого класса в привязку
Создание BindingElementCollection.
Создайте настраиваемые элементы привязки над этим элементом привязки в стеке привязки, например необязательные TransactionFlowBindingElement и ReliableSessionBindingElement.
Добавьте созданные элементы в предыдущем порядке в BindingElementCollection с помощью метода InsertItem(Int32, BindingElement).
Создайте экземпляр AsymmetricSecurityBindingElement и добавьте его в коллекцию.
Добавьте дополнительные элементы пользовательской привязки в коллекцию, например 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). |