EndpointIdentity.CreateRsaIdentity Metodo

Definizione

Crea un'identità RSA.

Overload

CreateRsaIdentity(X509Certificate2)

Crea un'identità RSA con il certificato X.509 specificato.

CreateRsaIdentity(String)

Crea un'identità RSA con la chiave pubblica specificata.

Commenti

Un client WCF protetto che si connette a un endpoint con questa identità verifica che le attestazioni presentate dal server contengano un'attestazione contenente a sua volta la chiave pubblica RSA usata per costruire tale identità.

Uno di questi metodi statici crea un'istanza di RsaEndpointIdentity chiamando il relativo costruttore RsaEndpointIdentity.

CreateRsaIdentity(X509Certificate2)

Crea un'identità RSA con il certificato X.509 specificato.

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

Parametri

certificate
X509Certificate2

Classe X509Certificate2 contenente il certificato per l'identità RSA.

Restituisce

EndpointIdentity

Classe EndpointIdentity RSA associata al parametro certificate specificato.

Eccezioni

certificate è null.

Il parametro certificate non è un certificato RSA.

Esempio

Nell'esempio di codice seguente viene mostrato come chiamare questo metodo.

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;

Commenti

Un client WCF sicuro che si connette a un endpoint con questa identità verifica che le attestazioni presentate dal server contengano un'attestazione contenente la chiave pubblica RSA ottenuta dal certificato usato per costruire questa identità.

Questo metodo statico crea un'istanza di RsaEndpointIdentity chiamando il relativo costruttore RsaEndpointIdentity.

Si applica a

CreateRsaIdentity(String)

Crea un'identità RSA con la chiave pubblica specificata.

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

Parametri

publicKey
String

Chiave pubblica per l'identità RSA.

Restituisce

EndpointIdentity

Classe EndpointIdentity RSA associata al parametro publicKey specificato.

Eccezioni

publicKey è null.

Commenti

Un client WCF protetto che si connette a un endpoint con questa identità verifica che le attestazioni presentate dal server contengano un'attestazione contenente a sua volta la chiave pubblica RSA usata per costruire tale identità.

Questo metodo statico crea un'istanza di RsaEndpointIdentity chiamando il relativo costruttore RsaEndpointIdentity.

Si applica a