次の方法で共有


EndpointIdentity.CreateX509CertificateIdentity メソッド

定義

X509Certificate ID を作成します。

オーバーロード

CreateX509CertificateIdentity(X509Certificate2)

指定した証明書を持つ X509Certificate ID を作成します。

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

指定したプライマリ証明書とサポート証明書を持つ X509Certificate ID を作成します。

注釈

証明書をサポートしているかどうかに基づいて、2 つのコンストラクターのいずれかを選択します。

この 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

例外

certificatenullです。

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

    // 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 メソッドは、コンストラクター X509CertificateEndpointIdentity を呼び出し、X509CertificateEndpointIdentity を入力パラメーターとして使用することで、certificate のインスタンスを作成します。

適用対象

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 X509Certificate に関連付けられた X509Certificate EndpointIdentitysupportingCertificates.

例外

primaryCertificate または supportingCertificatesnull です。

注釈

この静的メソッドは、コンストラクター X509CertificateEndpointIdentity を呼び出し、X509CertificateEndpointIdentityprimaryCertificate を入力パラメーターとして使用することで、supportingCertificates のインスタンスを作成します。

適用対象