다음을 통해 공유


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입니다.

예외

certificate이(가) null인 경우

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입니다.

예외

publicKey이(가) null인 경우

설명

이 ID를 사용하여 엔드포인트에 연결하는 보안 WCF 클라이언트는 서버에서 제공하는 클레임에 이 ID를 생성하는 데 사용되는 RSA 공개 키가 포함된 클레임이 포함되어 있는지 확인합니다.

이 정적 메서드는 해당 생성자를 RsaEndpointIdentity호출하여 인스턴스 RsaEndpointIdentity 를 만듭니다.

적용 대상