다음을 통해 공유


EndpointIdentity.CreateX509CertificateIdentity 메서드

정의

X509Certificate ID를 만듭니다.

오버로드

CreateX509CertificateIdentity(X509Certificate2)

지정된 인증서를 사용하여 X509Certificate ID를 만듭니다.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

지정된 기본 인증서 및 지원 인증서를 사용하여 X509Certificate ID를 만듭니다.

설명

지원 인증서가 있는지 여부에 따라 이러한 두 생성자 중에서 선택합니다.

이 ID를 가진 엔드포인트와 연결되는 보안 WCF 클라이언트는 서버가 나타내는 클레임 중에 이 ID 생성에 사용되는 인증서의 지문이 포함된 클레임이 있음을 확인합니다.

CreateX509CertificateIdentity(X509Certificate2)

지정된 인증서를 사용하여 X509Certificate ID를 만듭니다.

public:
 static System::ServiceModel::EndpointIdentity ^ CreateX509CertificateIdentity(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ certificate);
public static System.ServiceModel.EndpointIdentity CreateX509CertificateIdentity (System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
static member CreateX509CertificateIdentity : System.Security.Cryptography.X509Certificates.X509Certificate2 -> System.ServiceModel.EndpointIdentity
Public Shared Function CreateX509CertificateIdentity (certificate As X509Certificate2) As EndpointIdentity

매개 변수

certificate
X509Certificate2

ID에 대한 인증서를 포함하는 X509Certificate2입니다.

반환

EndpointIdentity

지정된 EndpointIdentity와 연결된 X509Certificate certificate입니다.

예외

certificate이(가) null인 경우

예제

다음 코드에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    // This method creates a WSFederationHttpBinding.
    public static WSFederationHttpBinding CreateWSFederationHttpBinding()
    {
        // Create an instance of the WSFederationHttpBinding.
        WSFederationHttpBinding b = new WSFederationHttpBinding();

        // Set the security mode to Message.
        b.Security.Mode = WSFederationHttpSecurityMode.Message;

        // Set the Algorithm Suite to Basic256Rsa15.
        b.Security.Message.AlgorithmSuite = SecurityAlgorithmSuite.Basic256Rsa15;

        // Set NegotiateServiceCredential to true.
        b.Security.Message.NegotiateServiceCredential = true;

        // Set IssuedKeyType to Symmetric.
        b.Security.Message.IssuedKeyType = SecurityKeyType.SymmetricKey;

        // Set IssuedTokenType to SAML 1.1.
        b.Security.Message.IssuedTokenType = "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#samlv1.1";

        // Extract the STS certificate from the certificate store.
        X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser);
        store.Open(OpenFlags.ReadOnly);
        X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindByThumbprint, "cd 54 88 85 0d 63 db ac 92 59 05 af ce b8 b1 de c3 67 9e 3f", false);
        store.Close();

        // Create an EndpointIdentity from the STS certificate.
        EndpointIdentity identity = EndpointIdentity.CreateX509CertificateIdentity(certs[0]);

        // Set the IssuerAddress using the address of the STS and the previously created EndpointIdentity.
        b.Security.Message.IssuerAddress = new EndpointAddress(new Uri("http://localhost:8000/sts/x509"), identity);

        // Set the IssuerBinding to a WSHttpBinding loaded from config
        b.Security.Message.IssuerBinding = new WSHttpBinding("Issuer");

        // Set the IssuerMetadataAddress using the metadata address of the STS and the previously created EndpointIdentity.
        b.Security.Message.IssuerMetadataAddress = new EndpointAddress(new Uri("http://localhost:8001/sts/mex"), identity);

        // Create a ClaimTypeRequirement.
        ClaimTypeRequirement ctr = new ClaimTypeRequirement("http://example.org/claim/c1", false);

        // Add the ClaimTypeRequirement to ClaimTypeRequirements.
        b.Security.Message.ClaimTypeRequirements.Add(ctr);

        // Return the created binding.
        return b;
    }
}

설명

이 ID를 가진 엔드포인트와 연결되는 보안 WCF 클라이언트는 서버가 나타내는 클레임 중에 이 ID 생성에 사용되는 인증서의 지문이 포함된 클레임이 있음을 확인합니다.

static 메서드는 입력 매개 변수로 사용하여 certificate 생성자를 X509CertificateEndpointIdentity호출하여 인스턴스 X509CertificateEndpointIdentity 를 만듭니다.

적용 대상

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

지정된 기본 인증서 및 지원 인증서를 사용하여 X509Certificate ID를 만듭니다.

public:
 static System::ServiceModel::EndpointIdentity ^ CreateX509CertificateIdentity(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ primaryCertificate, System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ supportingCertificates);
public static System.ServiceModel.EndpointIdentity CreateX509CertificateIdentity (System.Security.Cryptography.X509Certificates.X509Certificate2 primaryCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection supportingCertificates);
static member CreateX509CertificateIdentity : System.Security.Cryptography.X509Certificates.X509Certificate2 * System.Security.Cryptography.X509Certificates.X509Certificate2Collection -> System.ServiceModel.EndpointIdentity
Public Shared Function CreateX509CertificateIdentity (primaryCertificate As X509Certificate2, supportingCertificates As X509Certificate2Collection) As EndpointIdentity

매개 변수

primaryCertificate
X509Certificate2

ID에 대한 기본 인증서를 포함하는 X509Certificate2입니다.

supportingCertificates
X509Certificate2Collection

ID에 대한 지원 인증서를 포함하는 X509Certificate2Collection입니다.

반환

EndpointIdentity

이 ID를 가진 엔드포인트와 연결되는 보안 WCF 클라이언트는 서버가 나타내는 클레임 중에 이 ID 생성에 사용되는 인증서의 지문이 포함된 클레임이 있음을 확인합니다.

지정된 primaryCertificate supportingCertificates및 에 연결된 X509Certificate EndpointIdentity 입니다.

예외

primaryCertificate 또는 supportingCertificatesnull인 경우

설명

이 정적 메서드는 생성자를 X509CertificateEndpointIdentity호출하고 입력 매개 변수를 사용하여 supportingCertificates primaryCertificate 인스턴스 X509CertificateEndpointIdentity 를 만듭니다.

적용 대상