EndpointIdentity.CreateX509CertificateIdentity Метод

Определение

Создает удостоверение X509Certificate.

Перегрузки

CreateX509CertificateIdentity(X509Certificate2)

Создает удостоверение X509Certificate с указанным сертификатом.

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Создает удостоверение X509Certificate с указанным основным и поддерживающим сертификатом.

Комментарии

Выберите один из этих двух конструкторов в зависимости от наличия поддерживающих сертификатов.

Защищенный клиент WCF, подключающийся к конечной точке с использованием этого удостоверения, проверяет, что среди утверждений, представленных сервером, есть утверждение, содержащее отпечаток сертификата, который используется для конструирования этого удостоверения.

CreateX509CertificateIdentity(X509Certificate2)

Создает удостоверение X509Certificate с указанным сертификатом.

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

Параметры

certificate
X509Certificate2

Объект X509Certificate2, содержащий сертификат для удостоверения.

Возвращаемое значение

EndpointIdentity

EndpointIdentity X509Certificate, связанное с заданным параметром certificate.

Исключения

certificate имеет значение null.

Примеры

В следующем примере кода показано, как вызвать этот метод.

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

Комментарии

Защищенный клиент WCF, подключающийся к конечной точке с использованием этого удостоверения, проверяет, что среди утверждений, представленных сервером, есть утверждение, содержащее отпечаток сертификата, который используется для конструирования этого удостоверения.

Этот метод, static, создает экземпляр X509CertificateEndpointIdentity, вызывая его конструктор X509CertificateEndpointIdentity, с использованием certificate в качестве входного параметра.

Применяется к

CreateX509CertificateIdentity(X509Certificate2, X509Certificate2Collection)

Создает удостоверение X509Certificate с указанным основным и поддерживающим сертификатом.

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

Параметры

primaryCertificate
X509Certificate2

X509Certificate2, содержащий основной сертификат для удостоверения.

supportingCertificates
X509Certificate2Collection

X509Certificate2Collection, содержащий поддерживающие сертификаты для удостоверения.

Возвращаемое значение

EndpointIdentity

Защищенный клиент WCF, подключающийся к конечной точке с использованием этого удостоверения, проверяет, что среди утверждений, представленных сервером, есть утверждение, содержащее отпечаток сертификата, который используется для конструирования этого удостоверения.

X509Certificate EndpointIdentity , связанный с указанным primaryCertificate и supportingCertificates.

Исключения

Параметр primaryCertificate или supportingCertificates имеет значение null.

Комментарии

Статический метод создает экземпляр X509CertificateEndpointIdentity, вызывая его конструктор X509CertificateEndpointIdentity, с использованием primaryCertificate и supportingCertificates в качестве входных параметров.

Применяется к