Sdílet prostřednictvím


EndpointIdentity.CreateX509CertificateIdentity Metoda

Definice

Vytvoří identitu X509Certificate.

Přetížení

CreateX509CertificateIdentity(X509Certificate2)

Vytvoří identitu X509Certificate se zadaným certifikátem.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Vytvoří identitu X509Certificate se zadanými primárními a podpůrnými certifikáty.

Poznámky

Vyberte si mezi těmito dvěma konstruktory na základě toho, jestli máte podpůrné certifikáty.

Zabezpečený klient WCF, který se připojuje ke koncovému bodu s touto identitou, ověřuje, že deklarace identity předložené serverem obsahují deklaraci identity, která obsahuje kryptografický otisk certifikátu použitého k vytvoření této identity.

CreateX509CertificateIdentity(X509Certificate2)

Vytvoří identitu X509Certificate se zadaným certifikátem.

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

Parametry

certificate
X509Certificate2

Certifikát X509Certificate2 pro identitu.

Návraty

EndpointIdentity

X509Certificate EndpointIdentity přidružené k zadané certificate.

Výjimky

certificate je null.

Příklady

Následující kód ukazuje, jak tuto metodu volat.

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

Poznámky

Zabezpečený klient WCF, který se připojuje ke koncovému bodu s touto identitou, ověřuje, že deklarace identity předložené serverem obsahují deklaraci identity, která obsahuje kryptografický otisk certifikátu použitého k vytvoření této identity.

Tato static metoda vytvoří instanci X509CertificateEndpointIdentity voláním jeho konstruktoru , X509CertificateEndpointIdentitypomocí certificate jako vstupní parametr.

Platí pro

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Vytvoří identitu X509Certificate se zadanými primárními a podpůrnými certifikáty.

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

Parametry

primaryCertificate
X509Certificate2

Obsahuje X509Certificate2 primární certifikát pro identitu.

supportingCertificates
X509Certificate2Collection

Obsahuje X509Certificate2Collection podpůrné certifikáty pro identitu.

Návraty

EndpointIdentity

Zabezpečený klient WCF, který se připojuje ke koncovému bodu s touto identitou, ověřuje, že deklarace identity předložené serverem obsahují deklaraci identity, která obsahuje kryptografický otisk certifikátu použitého k vytvoření této identity.

X509Certificate EndpointIdentity přidružené k zadané primaryCertificate a supportingCertificates.

Výjimky

primaryCertificate nebo supportingCertificates je null.

Poznámky

Tato statická metoda vytvoří instanci X509CertificateEndpointIdentity voláním jeho konstruktoru , X509CertificateEndpointIdentitypomocí primaryCertificate a supportingCertificates jako vstupní parametry.

Platí pro