EndpointIdentity.CreateRsaIdentity Methode

Definition

Erstellt eine RSA-Identität.

Überlädt

Name Beschreibung
CreateRsaIdentity(X509Certificate2)

Erstellt eine RSA-Identität mit dem angegebenen X.509-Zertifikat.

CreateRsaIdentity(String)

Erstellt eine RSA-Identität mit dem angegebenen öffentlichen Schlüssel.

Hinweise

Ein sicherer WCF-Client, der eine Verbindung mit einem Endpunkt mit dieser Identität herstellt, überprüft, ob die vom Server präsentierten Ansprüche einen Anspruch enthalten, der den öffentlichen RSA-Schlüssel enthält, der zum Erstellen dieser Identität verwendet wird.

Eine dieser statischen Methoden erstellt eine Instanz des RsaEndpointIdentity Aufrufs des Konstruktors RsaEndpointIdentity.

CreateRsaIdentity(X509Certificate2)

Erstellt eine RSA-Identität mit dem angegebenen X.509-Zertifikat.

public:
 static System::ServiceModel::EndpointIdentity ^ CreateRsaIdentity(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ certificate);
public static System.ServiceModel.EndpointIdentity CreateRsaIdentity(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
static member CreateRsaIdentity : System.Security.Cryptography.X509Certificates.X509Certificate2 -> System.ServiceModel.EndpointIdentity
Public Shared Function CreateRsaIdentity (certificate As X509Certificate2) As EndpointIdentity

Parameter

certificate
X509Certificate2

Ein X509Certificate2 Zertifikat, das das Zertifikat für die RSA-Identität enthält.

Gibt zurück

Ein RSA, EndpointIdentity der dem angegebenen zugeordnet certificateist.

Ausnahmen

certificate ist null.

certificate ist kein RSA-Zertifikat.

Beispiele

Der folgende Code zeigt, wie diese Methode aufgerufen wird.

public static void CreateRSAIdentity()
{
    // Create a ServiceHost for the CalculatorService type. Base Address is supplied in app.config.
    using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
    {
        // The base address is read from the app.config.
        Uri dnsrelativeAddress = new Uri(serviceHost.BaseAddresses[0], "dnsidentity");
        Uri certificaterelativeAddress = new Uri(serviceHost.BaseAddresses[0], "certificateidentity");
        Uri rsarelativeAddress = new Uri(serviceHost.BaseAddresses[0], "rsaidentity");

        // Set the service's X509Certificate to protect the messages.
        serviceHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine,
                                                                  StoreName.My,
                                                                  X509FindType.FindBySubjectDistinguishedName,
                                                                  "CN=identity.com, O=Contoso");
        //Cache a reference to the server's certificate.
        X509Certificate2 servercert = serviceHost.Credentials.ServiceCertificate.Certificate;

        //Create endpoints for the service using a WSHttpBinding set for anonymous clients.
        WSHttpBinding wsAnonbinding = new WSHttpBinding(SecurityMode.Message);
        //Clients are anonymous to the service.
        wsAnonbinding.Security.Message.ClientCredentialType = MessageCredentialType.None;
        //Secure conversation (session) is turned off.
        wsAnonbinding.Security.Message.EstablishSecurityContext = false;

        //Create a service endpoint and change its identity to the DNS for an X509 Certificate.
        ServiceEndpoint ep = serviceHost.AddServiceEndpoint(typeof(ICalculator),
                                                            wsAnonbinding,
                                                            String.Empty);
        EndpointAddress epa = new EndpointAddress(dnsrelativeAddress, EndpointIdentity.CreateDnsIdentity("identity.com"));
        ep.Address = epa;

        //Create a service endpoint and change its identity to the X509 certificate's RSA key value.
        ServiceEndpoint ep3 = serviceHost.AddServiceEndpoint(typeof(ICalculator), wsAnonbinding, String.Empty);
        EndpointAddress epa3 = new EndpointAddress(rsarelativeAddress, EndpointIdentity.CreateRsaIdentity(servercert));
        ep3.Address = epa3;

Hinweise

Ein sicherer WCF-Client, der eine Verbindung mit einem Endpunkt mit dieser Identität herstellt, überprüft, ob die vom Server präsentierten Ansprüche einen Anspruch enthalten, der den öffentlichen RSA-Schlüssel enthält, der aus dem Zertifikat abgerufen wurde, mit dem diese Identität erstellt wird.

Diese statische Methode erstellt eine Instanz, deren RsaEndpointIdentity Konstruktor RsaEndpointIdentityaufgerufen wird.

Gilt für:

CreateRsaIdentity(String)

Erstellt eine RSA-Identität mit dem angegebenen öffentlichen Schlüssel.

public:
 static System::ServiceModel::EndpointIdentity ^ CreateRsaIdentity(System::String ^ publicKey);
public static System.ServiceModel.EndpointIdentity CreateRsaIdentity(string publicKey);
static member CreateRsaIdentity : string -> System.ServiceModel.EndpointIdentity
Public Shared Function CreateRsaIdentity (publicKey As String) As EndpointIdentity

Parameter

publicKey
String

Der öffentliche Schlüssel für die RSA-Identität.

Gibt zurück

Ein RSA, EndpointIdentity der dem angegebenen zugeordnet publicKeyist.

Ausnahmen

publicKey ist null.

Hinweise

Ein sicherer WCF-Client, der eine Verbindung mit einem Endpunkt mit dieser Identität herstellt, überprüft, ob die vom Server präsentierten Ansprüche einen Anspruch enthalten, der den öffentlichen RSA-Schlüssel enthält, der zum Erstellen dieser Identität verwendet wird.

Diese statische Methode erstellt eine Instanz, deren RsaEndpointIdentity Konstruktor RsaEndpointIdentityaufgerufen wird.

Gilt für: