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) |
Инициализирует новый экземпляр класса 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. |