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に関連付けられている 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

返品

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

指定したEndpointIdentityprimaryCertificateに関連付けられている X509Certificate supportingCertificates

例外

primaryCertificate または supportingCertificatesnull

注釈

この静的メソッドは、X509CertificateEndpointIdentityX509CertificateEndpointIdentityを入力パラメーターとして使用して、コンストラクター (primaryCertificate) を呼び出すことによって、supportingCertificatesのインスタンスを作成します。

適用対象