Freigeben über


EndpointIdentity.CreateRsaIdentity Methode

Definition

Erstellt eine RSA-Identität.

Überlädt

CreateRsaIdentity(X509Certificate2)

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

CreateRsaIdentity(String)

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

Hinweise

Ein sicherer WCF-Client, der mit dieser Identität eine Verbindung zu einem Endpunkt herstellt, stellt sicher, dass die vom Server bereitgestellten Ansprüche einen Anspruch beinhalten, der den zum Erstellen dieser Identität verwendeten öffentlichen RSA-Schlüssel enthält.

Eine dieser statischen Methoden erstellt eine Instanz von RsaEndpointIdentity, indem sie ihren Konstruktor RsaEndpointIdentity aufruft.

CreateRsaIdentity(X509Certificate2)

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

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-Objekt, das das Zertifikat für die RSA-Identität enthält.

Gibt zurück

EndpointIdentity

Eine RSA-EndpointIdentity, die mit dem angegebenen certificate verknüpft ist.

Ausnahmen

certificate ist null.

certificate ist kein RSA-Zertifikat.

Beispiele

Der folgende Code zeigt eine Möglichkeit, wie diese Methode aufgerufen werden kann.

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 wird, das zum Erstellen dieser Identität verwendet wird.

Diese statische Methode erstellt eine Instanz von RsaEndpointIdentity, indem sie ihren Konstruktor RsaEndpointIdentity aufruft.

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

EndpointIdentity

Eine RSA-EndpointIdentity, die mit dem angegebenen publicKey verknüpft ist.

Ausnahmen

publicKey ist null.

Hinweise

Ein sicherer WCF-Client, der mit dieser Identität eine Verbindung zu einem Endpunkt herstellt, stellt sicher, dass die vom Server bereitgestellten Ansprüche einen Anspruch beinhalten, der den zum Erstellen dieser Identität verwendeten öffentlichen RSA-Schlüssel enthält.

Diese statische Methode erstellt eine Instanz von RsaEndpointIdentity, indem sie ihren Konstruktor RsaEndpointIdentity aufruft.

Gilt für