Udostępnij za pośrednictwem


AsymmetricSecurityBindingElement Klasa

Definicja

Reprezentuje niestandardowy element powiązania, który obsługuje zabezpieczenia kanału przy użyciu szyfrowania asymetrycznego. Ten element powiązania podpisuje komunikat przy użyciu tokenu uwierzytelniania nadawcy i szyfruje wiadomość przy użyciu tokenu odbiorcy.

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
Dziedziczenie
AsymmetricSecurityBindingElement
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak użyć tej klasy do utworzenia niestandardowego powiązania zawierającego tę klasę jako element powiązania zabezpieczeń. Aby uzyskać więcej informacji na temat kodu w tym przykładzie, zobacz How to: Consistently Reference X.509 Certificates (Instrukcje: spójne odwołanie do certyfikatów 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

Uwagi

Powiązanie niestandardowe zawiera kolekcję elementów powiązania rozmieszczonych w określonej kolejności: element reprezentujący górną część stosu powiązań jest dodawany jako pierwszy, następny element w dół w stosie powiązań, jest dodawany drugi i tak dalej.

Aby dodać tę klasę do powiązania

  1. Utwórz element BindingElementCollection.

  2. Utwórz niestandardowe elementy powiązania powyżej tego elementu powiązania w stosie powiązań, takie jak opcjonalne TransactionFlowBindingElement i ReliableSessionBindingElement.

  3. Dodaj utworzone elementy w poprzedniej kolejności do BindingElementCollection metody przy użyciu InsertItem(Int32, BindingElement) metody .

  4. Utwórz wystąpienie AsymmetricSecurityBindingElement klasy i dodaj je do kolekcji.

  5. Dodaj do kolekcji dodatkowe niestandardowe elementy powiązania, takie jak TcpTransportBindingElement.

Przed użyciem tej klasy należy określić, czy standardowe powiązanie spełnia wymagania dotyczące zabezpieczeń.

Uwaga

Po utworzeniu wystąpienia tego obiektu należy traktować właściwości jego klasy SecurityBindingElement bazowej jako niezmienne. Wywoływanie elementu ustawionego dla niektórych właściwości może mieć nieprzewidywalne skutki: powiązanie może zachowywać się tak, jakby właściwość zachowała starą wartość, a błąd czasu wykonywania jest jedynym wskazaniem problemu. Dwie właściwości znane z zachowania w ten sposób to KeyType i MessageSecurityVersion. Mogą istnieć inne właściwości, których dotyczy.

Konstruktory

AsymmetricSecurityBindingElement()

Tworzy wystąpienie tej klasy.

AsymmetricSecurityBindingElement(SecurityTokenParameters)

Inicjuje nowe wystąpienie z AsymmetricSecurityBindingElement określonymi parametrami tokenu odbiorcy.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

Inicjuje nowe wystąpienie obiektu AsymmetricSecurityBindingElement z określonym adresatem i parametrami tokenu inicjatora.

Właściwości

AllowInsecureTransport

Pobiera lub ustawia wartość wskazującą, czy komunikaty zabezpieczone w trybie mieszanym można wysyłać za pośrednictwem niezabezpieczonego transportu, takiego jak HTTP.

(Odziedziczone po SecurityBindingElement)
AllowSerializedSigningTokenOnReply

Pobiera lub ustawia wartość wskazującą, czy serializowanie tokenu podpisywania w wiadomości odpowiedzi jest dozwolone.

DefaultAlgorithmSuite

Pobiera lub ustawia algorytmy szyfrowania komunikatów i zawijania kluczy.

(Odziedziczone po SecurityBindingElement)
EnableUnsecuredResponse

Pobiera lub ustawia wartość wskazującą, czy program WCF może wysyłać i odbierać niezabezpieczone odpowiedzi na zabezpieczone żądania.

(Odziedziczone po SecurityBindingElement)
EndpointSupportingTokenParameters

Pobiera punkt końcowy obsługujący parametry tokenu.

(Odziedziczone po SecurityBindingElement)
IncludeTimestamp

Pobiera lub ustawia wartość wskazującą, czy sygnatury czasowe są uwzględniane w każdym komunikacie.

(Odziedziczone po SecurityBindingElement)
InitiatorTokenParameters

Określa definicję tokenu dla inicjatora.

KeyEntropyMode

Pobiera lub ustawia źródło entropii używanej do tworzenia kluczy.

(Odziedziczone po SecurityBindingElement)
LocalClientSettings

Pobiera właściwości powiązania specyficzne dla ustawień zabezpieczeń lokalnych używanych przez klienta.

(Odziedziczone po SecurityBindingElement)
LocalServiceSettings

Pobiera właściwości powiązania specyficzne dla ustawień zabezpieczeń lokalnych używanych przez usługę.

(Odziedziczone po SecurityBindingElement)
MessageProtectionOrder

Pobiera lub ustawia kolejność szyfrowania wiadomości i podpisywania dla tego powiązania.

MessageSecurityVersion

Pobiera lub ustawia wersję zabezpieczeń komunikatu.

(Odziedziczone po SecurityBindingElement)
OperationSupportingTokenParameters

Pobiera kolekcję parametrów tokenu obsługi operacji.

(Odziedziczone po SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

Pobiera opcjonalne parametry tokenu pomocniczego dla punktu końcowego usługi.

(Odziedziczone po SecurityBindingElement)
OptionalOperationSupportingTokenParameters

Pobiera kolekcję opcjonalnych parametrów tokenu obsługi operacji.

(Odziedziczone po SecurityBindingElement)
ProtectTokens

Pobiera lub ustawia, czy element powiązania zabezpieczeń chroni tokeny.

(Odziedziczone po SecurityBindingElement)
RecipientTokenParameters

Określa definicję tokenu dla adresata.

RequireSignatureConfirmation

Pobiera lub ustawia wartość wskazującą, czy podpisy wiadomości muszą zostać potwierdzone.

SecurityHeaderLayout

Pobiera lub ustawia kolejność elementów w nagłówku zabezpieczeń dla tego powiązania.

(Odziedziczone po SecurityBindingElement)

Metody

BuildChannelFactory<TChannel>(BindingContext)

Tworzy fabrykę kanałów na SecurityBindingElement podstawie ustawień i kontekstu powiązania przekazanego. Utworzona fabryka kanałów kanałów kanału zabezpieczeń protokołu SOAP to fabryka kanałów zabezpieczeń protokołu SOAP, która wewnętrznie ma odwołanie do fabryki kanałów, która odpowiada kontekstowi powiązania (w tym fabryce kanałów transportu).

(Odziedziczone po SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

Po zaimplementowaniu tworzy fabrykę kanałów określonego typu.

(Odziedziczone po SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

Tworzy odbiornik kanału na SecurityBindingElement podstawie ustawień i kontekstu powiązania przekazanego.

(Odziedziczone po SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

Po zaimplementowaniu program tworzy odbiornik kanału o określonym typie.

(Odziedziczone po SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Określa, czy można skompilować fabrykę kanałów określonego typu.

(Odziedziczone po SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Określa, czy można skompilować odbiornik kanału określonego typu.

(Odziedziczone po SecurityBindingElement)
Clone()

Tworzy nowe wystąpienie tej klasy zainicjowane na podstawie bieżącej klasy.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperty<T>(BindingContext)

Pobiera określony obiekt z obiektu BindingContext.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SetKeyDerivation(Boolean)

Ustawia wartość wskazującą, czy klucze pochodne są wymagane.

ToString()

Zwraca ciąg reprezentujący to AsymmetricSecurityBindingElement wystąpienie.

Jawne implementacje interfejsu

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Eksportuje niestandardowe asercji zasad dotyczące powiązań, które są dodawane do informacji w języku WSDL (Web Services Description Language).

Dotyczy