Sdílet prostřednictvím


EndpointIdentity.CreateRsaIdentity Metoda

Definice

Vytvoří identitu RSA.

Přetížení

CreateRsaIdentity(X509Certificate2)

Vytvoří identitu RSA se zadaným certifikátem X.509.

CreateRsaIdentity(String)

Vytvoří identitu RSA se zadaným veřejným klíčem.

Poznámky

Zabezpečený klient WCF, který se připojuje ke koncovému bodu s touto identitou, ověřuje, že deklarace identity prezentované serverem obsahují deklaraci identity obsahující veřejný klíč RSA použitý k vytvoření této identity.

Jedna z těchto statických metod vytvoří instanci RsaEndpointIdentity voláním jeho konstruktoru RsaEndpointIdentity.

CreateRsaIdentity(X509Certificate2)

Vytvoří identitu RSA se zadaným certifikátem X.509.

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

Parametry

certificate
X509Certificate2

Certifikát X509Certificate2 pro identitu RSA.

Návraty

EndpointIdentity

RsA EndpointIdentity přidružená k zadanému certificate.

Výjimky

certificate je null.

certificate není certifikát RSA.

Příklady

Následující kód ukazuje, jak tuto metodu volat.

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;

Poznámky

Zabezpečený klient WCF, který se připojuje ke koncovému bodu s touto identitou, ověřuje, že deklarace identity předložené serverem obsahují deklaraci identity, která obsahuje veřejný klíč RSA získaný z certifikátu použitého k vytvoření této identity.

Tato statická metoda vytvoří instanci RsaEndpointIdentity voláním jeho konstruktoru , RsaEndpointIdentity.

Platí pro

CreateRsaIdentity(String)

Vytvoří identitu RSA se zadaným veřejným klíčem.

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

Parametry

publicKey
String

Veřejný klíč pro identitu RSA.

Návraty

EndpointIdentity

RsA EndpointIdentity přidružená k zadanému publicKey.

Výjimky

publicKey je null.

Poznámky

Zabezpečený klient WCF, který se připojuje ke koncovému bodu s touto identitou, ověřuje, že deklarace identity prezentované serverem obsahují deklaraci identity obsahující veřejný klíč RSA použitý k vytvoření této identity.

Tato statická metoda vytvoří instanci RsaEndpointIdentity voláním jeho konstruktoru , RsaEndpointIdentity.

Platí pro