EndpointIdentity.CreateX509CertificateIdentity Metodo

Definizione

Crea un'identità X509Certificate.

Overload

CreateX509CertificateIdentity(X509Certificate2)

Crea un'identità X509Certificate con il certificato specificato.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Crea un'identità X509Certificate con il certificato primario e i certificati di supporto.

Commenti

Scegliere uno di questi due costruttori in base alla disponibilità di certificati di supporto.

Un client WCF protetto che si connette a un endpoint con questa identità verifica che le attestazioni presentate dal server contengano l'attestazione con l'identificazione digitale del certificato utilizzato per costruire tale identità.

CreateX509CertificateIdentity(X509Certificate2)

Crea un'identità X509Certificate con il certificato specificato.

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

Parametri

certificate
X509Certificate2

Classe X509Certificate2 contenente il certificato per l'identità.

Restituisce

EndpointIdentity

Classe EndpointIdentity X509Cerificate associata al parametro certificate specificato.

Eccezioni

certificate è null.

Esempio

Nell'esempio di codice seguente viene mostrato come chiamare questo metodo.

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

Commenti

Un client WCF protetto che si connette a un endpoint con questa identità verifica che le attestazioni presentate dal server contengano l'attestazione con l'identificazione digitale del certificato utilizzato per costruire tale identità.

Questo metodo static crea un'istanza della classe X509CertificateEndpointIdentity chiamando il relativo costruttore X509CertificateEndpointIdentity con il parametro certificate come parametro di input.

Si applica a

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Crea un'identità X509Certificate con il certificato primario e i certificati di supporto.

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

Parametri

primaryCertificate
X509Certificate2

Classe X509Certificate2 contenente il certificato primario per l'identità.

supportingCertificates
X509Certificate2Collection

Classe X509Certificate2Collection contenente i certificati di supporto per l'identità.

Restituisce

EndpointIdentity

Un client WCF protetto che si connette a un endpoint con questa identità verifica che le attestazioni presentate dal server contengano l'attestazione con l'identificazione digitale del certificato utilizzato per costruire tale identità.

Oggetto X509Certificate EndpointIdentity associato all'oggetto specificato primaryCertificate e supportingCertificates.

Eccezioni

primaryCertificate o supportingCertificates è null.

Commenti

Questo metodo statico crea un'istanza di X509CertificateEndpointIdentity chiamando il relativo costruttore X509CertificateEndpointIdentity, con i parametri primaryCertificate e supportingCertificates come parametri di input.

Si applica a