Partager via


EndpointIdentity.CreateX509CertificateIdentity Méthode

Définition

Crée une identité X509Certificate.

Surcharges

CreateX509CertificateIdentity(X509Certificate2)

Crée une identité X509Certificate avec le certificat spécifié.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Crée une identité X509Certificate avec les certificats principaux et de prise en charge spécifiés.

Remarques

Choisissez entre ces deux constructeurs selon que vous avez des certificats de prise en charge.

Un client WCF sécurisé qui se connecte à un point de terminaison avec cette identité vérifie que les revendications présentées par le serveur contiennent la revendication intégrant l’empreinte numérique du certificat utilisé pour construire cette identité.

CreateX509CertificateIdentity(X509Certificate2)

Crée une identité X509Certificate avec le certificat spécifié.

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

Paramètres

certificate
X509Certificate2

X509Certificate2 contenant le certificat pour l'identité.

Retours

EndpointIdentity

EndpointIdentity X509Certificate associée au certificate spécifié.

Exceptions

certificate a la valeur null.

Exemples

L'exemple de code suivant montre comment appeler cette méthode.

    // 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;
    }
}

Remarques

Un client WCF sécurisé qui se connecte à un point de terminaison avec cette identité vérifie que les revendications présentées par le serveur contiennent la revendication intégrant l’empreinte numérique du certificat utilisé pour construire cette identité.

Cette méthode static crée une instance de X509CertificateEndpointIdentity en appelant son constructeur, X509CertificateEndpointIdentity, en utilisant certificate en guise de paramètre d'entrée.

S’applique à

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Crée une identité X509Certificate avec les certificats principaux et de prise en charge spécifiés.

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

Paramètres

primaryCertificate
X509Certificate2

X509Certificate2 contenant le certificat principal pour l'identité.

supportingCertificates
X509Certificate2Collection

X509Certificate2Collection contenant les certificats de prise en charge pour l'identité.

Retours

EndpointIdentity

Un client WCF sécurisé qui se connecte à un point de terminaison avec cette identité vérifie que les revendications présentées par le serveur contiennent la revendication intégrant l’empreinte numérique du certificat utilisé pour construire cette identité.

X509Certificate EndpointIdentity associé au spécifié primaryCertificate et supportingCertificates.

Exceptions

primaryCertificate ou supportingCertificates est null.

Remarques

Cette méthode statique crée une instance de X509CertificateEndpointIdentity en appelant son constructeur, X509CertificateEndpointIdentity, en utilisant primaryCertificate et supportingCertificates en guise de paramètres d'entrée.

S’applique à