EndpointIdentity.CreateRsaIdentity Metod

Definition

Skapar en RSA-identitet.

Överlagringar

Name Description
CreateRsaIdentity(X509Certificate2)

Skapar en RSA-identitet med det angivna X.509-certifikatet.

CreateRsaIdentity(String)

Skapar en RSA-identitet med den angivna offentliga nyckeln.

Kommentarer

En säker WCF-klient som ansluter till en slutpunkt med den här identiteten verifierar att anspråken som presenteras av servern innehåller ett anspråk som innehåller den offentliga RSA-nyckel som används för att konstruera den här identiteten.

En av dessa statiska metoder skapar en instans av RsaEndpointIdentity genom att anropa konstruktorn RsaEndpointIdentity.

CreateRsaIdentity(X509Certificate2)

Skapar en RSA-identitet med det angivna X.509-certifikatet.

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

Parametrar

certificate
X509Certificate2

En X509Certificate2 som innehåller certifikatet för RSA-identiteten.

Returer

En RSA EndpointIdentity som är associerad med den angivna certificate.

Undantag

certificate är null.

certificate är inte ett RSA-certifikat.

Exempel

Följande kod visar hur du anropar den här metoden.

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;

Kommentarer

En säker WCF-klient som ansluter till en slutpunkt med den här identiteten verifierar att anspråken som presenteras av servern innehåller ett anspråk som innehåller den offentliga RSA-nyckeln som hämtats från certifikatet som används för att konstruera den här identiteten.

Den här statiska metoden skapar en instans av RsaEndpointIdentity genom att anropa konstruktorn. RsaEndpointIdentity

Gäller för

CreateRsaIdentity(String)

Skapar en RSA-identitet med den angivna offentliga nyckeln.

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

Parametrar

publicKey
String

Den offentliga nyckeln för RSA-identiteten.

Returer

En RSA EndpointIdentity som är associerad med den angivna publicKey.

Undantag

publicKey är null.

Kommentarer

En säker WCF-klient som ansluter till en slutpunkt med den här identiteten verifierar att anspråken som presenteras av servern innehåller ett anspråk som innehåller den offentliga RSA-nyckel som används för att konstruera den här identiteten.

Den här statiska metoden skapar en instans av RsaEndpointIdentity genom att anropa konstruktorn. RsaEndpointIdentity

Gäller för