EndpointIdentity.CreateX509CertificateIdentity Methode

Definition

Erstellt eine X509Certificate-Identität.

Überlädt

CreateX509CertificateIdentity(X509Certificate2)

Erstellt mit dem angegebenen Zertifikat eine X509-Zertifikatsidentität.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Erstellt mit den angegebenen primären und unterstützenden Zertifikaten eine X509-Zertifikatsidentität.

Hinweise

Wählen Sie abhängig davon, ob Sie über unterstützende Zertifikate verfügen, zwischen diesen beiden Konstruktoren.

Ein sicherer WCF-Client, der mit dieser Identität eine Verbindung zu einem Endpunkt herstellt, stellt sicher, dass die vom Server bereitgestellten Ansprüche den Anspruch beinhalten, der den Fingerabdruck des Zertifikats enthält, das zum Erstellen dieser Identität verwendet wurde.

CreateX509CertificateIdentity(X509Certificate2)

Erstellt mit dem angegebenen Zertifikat eine X509-Zertifikatsidentität.

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

Parameter

certificate
X509Certificate2

Ein X509Certificate2-Objekt, das das Zertifikat für die Identität enthält.

Gibt zurück

EndpointIdentity

Eine X509Certificate-EndpointIdentity, die mit dem angegebenen certificate verknüpft ist.

Ausnahmen

certificate ist null.

Beispiele

Der folgende Code zeigt eine Möglichkeit, wie diese Methode aufgerufen werden kann.

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

Hinweise

Ein sicherer WCF-Client, der mit dieser Identität eine Verbindung zu einem Endpunkt herstellt, stellt sicher, dass die vom Server bereitgestellten Ansprüche den Anspruch beinhalten, der den Fingerabdruck des Zertifikats enthält, das zum Erstellen dieser Identität verwendet wurde.

Diese static-Methode erstellt eine Instanz von X509CertificateEndpointIdentity, indem sie ihren Konstruktor X509CertificateEndpointIdentity aufruft und dabei certificate als den Eingabeparameter verwendet.

Gilt für

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Erstellt mit den angegebenen primären und unterstützenden Zertifikaten eine X509-Zertifikatsidentität.

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

Parameter

primaryCertificate
X509Certificate2

Ein X509Certificate2, das das primäre Zertifikat für die Identität enthält.

supportingCertificates
X509Certificate2Collection

Ein X509Certificate2Collection, das die unterstützenden Zertifikate für die Identität enthält.

Gibt zurück

EndpointIdentity

Ein sicherer WCF-Client, der mit dieser Identität eine Verbindung zu einem Endpunkt herstellt, stellt sicher, dass die vom Server bereitgestellten Ansprüche den Anspruch beinhalten, der den Fingerabdruck des Zertifikats enthält, das zum Erstellen dieser Identität verwendet wurde.

Ein X509Certificate EndpointIdentity , das dem angegebenen primaryCertificate und supportingCertificates.

Ausnahmen

primaryCertificate oder supportingCertificates ist null.

Hinweise

Diese statische Methode erstellt eine Instanz von X509CertificateEndpointIdentity, indem sie ihren Konstruktor X509CertificateEndpointIdentity aufruft und primaryCertificate sowie supportingCertificates als Eingabeparameter verwendet.

Gilt für