AsymmetricSecurityBindingElement Klass

Definition

Representerar ett anpassat bindningselement som stöder kanalsäkerhet med asymmetrisk kryptering. Det här bindningselementet signerar meddelandet med avsändarens autentiseringstoken och krypterar meddelandet med hjälp av mottagarens token.

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
Arv
AsymmetricSecurityBindingElement
Implementeringar

Exempel

I följande exempel visas hur du använder den här klassen för att skapa en anpassad bindning som innehåller den här klassen som ett säkerhetsbindningselement. Mer information om koden i det här exemplet finns i Så här: Referera till X.509-certifikat konsekvent.

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

Kommentarer

En anpassad bindning innehåller en samling bindningselement ordnade i en viss ordning: elementet som representerar toppen av bindningsstacken läggs till först, nästa element nere i bindningsstacken läggs till tvåa och så vidare.

Så här lägger du till den här klassen i en bindning

  1. Skapa en BindingElementCollection.

  2. Skapa anpassade bindningselement som ligger ovanför det här bindningselementet i bindningsstacken, till exempel valfria TransactionFlowBindingElement och ReliableSessionBindingElement.

  3. Lägg till de skapade elementen i föregående ordning till BindingElementCollection med hjälp av InsertItem(Int32, BindingElement) -metoden.

  4. Skapa en instans av AsymmetricSecurityBindingElement och lägg till den i samlingen.

  5. Lägg till ytterligare anpassade bindningselement i samlingen, till exempel TcpTransportBindingElement.

Innan du använder den här klassen bör du avgöra om en standardbindning uppfyller dina säkerhetskrav.

Note

När en instans av det här objektet har skapats bör du behandla egenskaperna för basklassen SecurityBindingElement som oföränderliga. Att anropa inställt på vissa egenskaper kan ha oförutsägbara effekter: bindningen kan fungera som om egenskapen behöll sitt gamla värde, med ett körningsfel som den enda indikationen på ett problem. Två egenskaper som är kända för att bete sig på det här sättet är KeyType och MessageSecurityVersion. Det kan finnas andra egenskaper som detta gäller för.

Konstruktorer

Name Description
AsymmetricSecurityBindingElement()

Skapar en instans av den här klassen.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

Initierar en ny instans av AsymmetricSecurityBindingElement med de angivna parametrarna för mottagar- och initierartoken.

AsymmetricSecurityBindingElement(SecurityTokenParameters)

Initierar en ny instans av AsymmetricSecurityBindingElement med de angivna parametrarna för mottagartoken.

Egenskaper

Name Description
AllowInsecureTransport

Hämtar eller anger ett värde som anger om skyddade meddelanden i blandat läge kan skickas via en osäker transport, till exempel HTTP.

(Ärvd från SecurityBindingElement)
AllowSerializedSigningTokenOnReply

Hämtar eller anger ett värde som anger om serialisering av en signeringstoken i ett svarsmeddelande tillåts.

DefaultAlgorithmSuite

Hämtar eller anger meddelandekryptering och nyckelomslutningsalgoritmer.

(Ärvd från SecurityBindingElement)
EnableUnsecuredResponse

Hämtar eller anger ett värde som anger om WCF kan skicka och ta emot oskyddade svar på skyddade begäranden.

(Ärvd från SecurityBindingElement)
EndpointSupportingTokenParameters

Hämtar slutpunkten som stöder tokenparametrar.

(Ärvd från SecurityBindingElement)
IncludeTimestamp

Hämtar eller anger ett värde som anger om tidsstämplar ingår i varje meddelande.

(Ärvd från SecurityBindingElement)
InitiatorTokenParameters

Anger tokendefinitionen för initieraren.

KeyEntropyMode

Hämtar eller anger källan för entropi som används för att skapa nycklar.

(Ärvd från SecurityBindingElement)
LocalClientSettings

Hämtar bindningsegenskaperna som är specifika för lokala säkerhetsinställningar som används av klienten.

(Ärvd från SecurityBindingElement)
LocalServiceSettings

Hämtar bindningsegenskaperna som är specifika för lokala säkerhetsinställningar som används av tjänsten.

(Ärvd från SecurityBindingElement)
MessageProtectionOrder

Hämtar eller anger ordningen för meddelandekryptering och signering för den här bindningen.

MessageSecurityVersion

Hämtar eller anger meddelandesäkerhetsversionen.

(Ärvd från SecurityBindingElement)
OperationSupportingTokenParameters

Hämtar samlingen av åtgärder som stöder tokenparametrar.

(Ärvd från SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

Hämtar de valfria stödtokenparametrarna för tjänstslutpunkten.

(Ärvd från SecurityBindingElement)
OptionalOperationSupportingTokenParameters

Hämtar samlingen med valfria åtgärder som stöder tokenparametrar.

(Ärvd från SecurityBindingElement)
ProtectTokens

Hämtar eller anger om säkerhetsbindningselementet skyddar token.

(Ärvd från SecurityBindingElement)
RecipientTokenParameters

Anger tokendefinitionen för mottagaren.

RequireSignatureConfirmation

Hämtar eller anger ett värde som anger om meddelandesignaturer måste bekräftas.

SecurityHeaderLayout

Hämtar eller anger ordningen på elementen i säkerhetsrubriken för den här bindningen.

(Ärvd från SecurityBindingElement)

Metoder

Name Description
BuildChannelFactory<TChannel>(BindingContext)

Skapar en kanalfabrik baserat på SecurityBindingElement inställningarna och bindningskontexten som skickas in. Kanalfabriken som skapats är en SOAP-meddelandesäkerhetskanalfabrik, som internt har en referens till kanalfabriken som motsvarar bindningskontexten (som inkluderar transportkanalfabriken).

(Ärvd från SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

När den implementeras skapar du en kanalfabrik av en angiven typ.

(Ärvd från SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

Skapar en kanallyssnare SecurityBindingElement baserat på inställningarna och bindningskontexten som skickas in.

(Ärvd från SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

När den implementeras skapar du en kanallyssnare av en angiven typ.

(Ärvd från SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Avgör om en kanalfabrik av den angivna typen kan skapas.

(Ärvd från SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Avgör om en kanallyssnare av den angivna typen kan skapas.

(Ärvd från SecurityBindingElement)
Clone()

Skapar en ny instans av den här klassen som initierats från den aktuella.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetProperty<T>(BindingContext)

Hämtar ett angivet objekt från BindingContext.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SetKeyDerivation(Boolean)

Anger ett värde som anger om härledda nycklar krävs.

ToString()

Returnerar en sträng som representerar den här AsymmetricSecurityBindingElement instansen.

Explicita gränssnittsimplementeringar

Name Description
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Exporterar en anpassad principkontroll om bindningar, som läggs till i WSDL-informationen (Web Services Description Language).

Gäller för