X509CertificateInitiatorClientCredential.SetCertificate Метод

Определение

Задает сертификат, используемый для представления службы.

Перегрузки

SetCertificate(String, StoreLocation, StoreName)

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

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Позволяет указать сертификат, используемый для представления клиента, путем указания параметров запроса, например storeLocation, storeName, findType и findValue.

SetCertificate(String, StoreLocation, StoreName)

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

public:
 void SetCertificate(System::String ^ subjectName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName);
public void SetCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName);
member this.SetCertificate : string * System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName -> unit
Public Sub SetCertificate (subjectName As String, storeLocation As StoreLocation, storeName As StoreName)

Параметры

subjectName
String

Различающееся имя субъекта.

storeLocation
StoreLocation

Расположение хранилища сертификатов, из которого служба получает сертификат службы.

storeName
StoreName

Задает имя открываемого хранилища сертификатов X.509.

Примеры

В следующем примере кода задается используемый сертификат.

// Create a WSHttpBinding and set its security properties. The
// security mode is Message, and the client is authenticated with
// a certificate.
EndpointAddress ea = new EndpointAddress("http://contoso.com/");
WSHttpBinding b = new WSHttpBinding();
b.Security.Mode = SecurityMode.Message;
b.Security.Message.ClientCredentialType =
    MessageCredentialType.Certificate;

// Create the client with the binding and EndpointAddress.
CalculatorClient cc = new CalculatorClient(b, ea);

// Set the client credential value to a valid certificate.
cc.ClientCredentials.ClientCertificate.SetCertificate(
    "CN=MyName, OU=MyOrgUnit, C=US",
    StoreLocation.CurrentUser,
    StoreName.TrustedPeople);

Комментарии

Дополнительные сведения о параметре subjectName см. в разделе SubjectName.

Значения для параметра storeLocation включены в перечисление StoreLocation.

  • LocalMachine: хранилище сертификатов, назначенное локальному компьютеру (по умолчанию).

  • CurrentUser: хранилище сертификатов, используемое текущим пользователем.

Если клиентское приложение выполняется под учетной записью системы, то сертификат обычно находится в LocalMachine. Если клиентское приложение выполняется под учетной записью пользователя, то сертификат обычно находится в CurrentUser.

Значения для параметра storeName включены в перечисление StoreName.

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

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Позволяет указать сертификат, используемый для представления клиента, путем указания параметров запроса, например storeLocation, storeName, findType и findValue.

public:
 void SetCertificate(System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName, System::Security::Cryptography::X509Certificates::X509FindType findType, System::Object ^ findValue);
public void SetCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue);
member this.SetCertificate : System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName * System.Security.Cryptography.X509Certificates.X509FindType * obj -> unit
Public Sub SetCertificate (storeLocation As StoreLocation, storeName As StoreName, findType As X509FindType, findValue As Object)

Параметры

storeLocation
StoreLocation

Расположение хранилища сертификатов, из которого клиент получает сертификат клиента.

storeName
StoreName

Задает имя открываемого хранилища сертификатов X.509.

findType
X509FindType

Определяет тип поиска сертификата X.509.

findValue
Object

Значение для поиска в хранилище сертификатов X.509.

Примеры

В следующем примере кода задается используемый сертификат.

// Create a WSHttpBinding and set its security properties. The
// security mode is Message, and the client is authenticated with
// a certificate.
EndpointAddress ea = new EndpointAddress("http://contoso.com/");
WSHttpBinding b = new WSHttpBinding();
b.Security.Mode = SecurityMode.Message;
b.Security.Message.ClientCredentialType =
    MessageCredentialType.Certificate;

// Create the client with the binding and EndpointAddress.
CalculatorClient cc = new CalculatorClient(b, ea);

// Set the client credential value to a valid certificate.
cc.ClientCredentials.ClientCertificate.SetCertificate(
    StoreLocation.CurrentUser,
    StoreName.TrustedPeople,
    X509FindType.FindBySubjectName,
    "client.com");
' Create a WSHttpBinding and set its security properties. The
' security mode is Message, and the client is authenticated with 
' a certificate.
Dim ea As New EndpointAddress("http://contoso.com/")
Dim b As New WSHttpBinding()
b.Security.Mode = SecurityMode.Message
b.Security.Message.ClientCredentialType = MessageCredentialType.Certificate

' Create the client with the binding and EndpointAddress.
Dim cc As New CalculatorClient(b, ea)

' Set the client credential value to a valid certificate.
cc.ClientCredentials.ClientCertificate.SetCertificate( _
   StoreLocation.CurrentUser, _
   StoreName.TrustedPeople, _
   X509FindType.FindBySubjectName, _
   "client.com")

Комментарии

Значения для параметра storeLocation включены в перечисление StoreLocation.

  • LocalMachine: хранилище сертификатов, назначенное локальному компьютеру (по умолчанию).

  • CurrentUser: хранилище сертификатов, используемое текущим пользователем.

Если клиентское приложение выполняется под учетной записью системы, то сертификат обычно находится в LocalMachine. Если клиентское приложение выполняется под учетной записью пользователя, то сертификат обычно находится в CurrentUser.

Значения для параметра storeName включены в перечисление StoreName.

Значения для параметра findType включены в перечисление X509FindType.

Наиболее часто используется перечисление FindBySubjectName, которое выполняет поиск с учетом регистра по имени субъекта сертификатов в указанном хранилище. Это может быть неточный поиск. При возврате нескольких сертификатов для представления клиента будет использоваться первый из них.

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