Partilhar via


EndpointIdentity.CreateX509CertificateIdentity Método

Definição

Cria uma identidade X509Certificate.

Sobrecargas

CreateX509CertificateIdentity(X509Certificate2)

Cria uma identidade X509Certificate com o certificado especificado.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Cria uma identidade X509Certificate com os certificados primário e de suporte especificados.

Comentários

Escolha entre esses dois construtores com base em se você tem certificados de suporte.

Um cliente do WCF seguro que se conecta a um ponto de extremidade com esta identidade verifica se as declarações apresentadas pelo servidor contêm a declaração com a impressão digital do certificado usado para construir essa identidade.

CreateX509CertificateIdentity(X509Certificate2)

Cria uma identidade X509Certificate com o certificado especificado.

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

Parâmetros

certificate
X509Certificate2

Um X509Certificate2 que contém o certificado para a identidade.

Retornos

EndpointIdentity

Um EndpointIdentity X509Certificate associado ao certificate especificado.

Exceções

certificate é null.

Exemplos

O código a seguir mostra como chamar esse método.

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

Comentários

Um cliente do WCF seguro que se conecta a um ponto de extremidade com esta identidade verifica se as declarações apresentadas pelo servidor contêm a declaração com a impressão digital do certificado usado para construir essa identidade.

Esse static método cria uma instância chamando X509CertificateEndpointIdentity seu construtor, X509CertificateEndpointIdentityusando certificate como parâmetro de entrada.

Aplica-se a

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Cria uma identidade X509Certificate com os certificados primário e de suporte especificados.

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

Parâmetros

primaryCertificate
X509Certificate2

Um X509Certificate2 que contém o certificado primário para a identidade.

supportingCertificates
X509Certificate2Collection

Um X509Certificate2Collection que contém os certificados de suporte para a identidade.

Retornos

EndpointIdentity

Um cliente do WCF seguro que se conecta a um ponto de extremidade com esta identidade verifica se as declarações apresentadas pelo servidor contêm a declaração com a impressão digital do certificado usado para construir essa identidade.

Um X509Certificate EndpointIdentity associado ao especificado primaryCertificate e supportingCertificates.

Exceções

primaryCertificate ou supportingCertificates é null.

Comentários

Esse método estático cria uma instância chamando X509CertificateEndpointIdentity seu construtor, X509CertificateEndpointIdentityusando primaryCertificate e supportingCertificates como parâmetros de entrada.

Aplica-se a