次の方法で共有


EndpointIdentity.CreateRsaIdentity メソッド

定義

RSA ID を作成します。

オーバーロード

CreateRsaIdentity(X509Certificate2)

指定した X.509 証明書を持つ RSA ID を作成します。

CreateRsaIdentity(String)

指定した公開キーを持つ RSA ID を作成します。

注釈

この ID のエンドポイントに接続するセキュリティで保護された WCF クライアントは、サーバーから提示されたクレームに、この ID を構築するために使用された RSA 公開キーを含むクレームが含まれていることを検証します。

これらの静的メソッドのいずれかが、コンストラクター RsaEndpointIdentity を呼び出すことにより RsaEndpointIdentity のインスタンスを作成します。

CreateRsaIdentity(X509Certificate2)

指定した X.509 証明書を持つ RSA ID を作成します。

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

パラメーター

certificate
X509Certificate2

RSA ID 用の証明書を含む X509Certificate2

戻り値

EndpointIdentity

指定した EndpointIdentity に関連付けられた RSA certificate

例外

certificatenullです。

certificate が RSA 証明書ではありません。

このメソッドを呼び出す方法を次のコードに示します。

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;

注釈

この ID を使用してエンドポイントに接続するセキュリティで保護された WCF クライアントは、サーバーによって提示される要求に、この ID の構築に使用される証明書から取得された RSA 公開キーを含む要求が含まれていることを確認します。

この静的メソッドは、コンストラクター RsaEndpointIdentity を呼び出すことにより RsaEndpointIdentity のインスタンスを作成します。

適用対象

CreateRsaIdentity(String)

指定した公開キーを持つ RSA ID を作成します。

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

パラメーター

publicKey
String

RSA ID の公開キー。

戻り値

EndpointIdentity

指定した EndpointIdentity に関連付けられた RSA publicKey

例外

publicKeynullです。

注釈

この ID のエンドポイントに接続するセキュリティで保護された WCF クライアントは、サーバーから提示されたクレームに、この ID を構築するために使用された RSA 公開キーを含むクレームが含まれていることを検証します。

この静的メソッドは、コンストラクター RsaEndpointIdentity を呼び出すことにより RsaEndpointIdentity のインスタンスを作成します。

適用対象