X509CertificateInitiatorClientCredential.SetCertificate Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает сертификат, используемый для представления службы.
Перегрузки
SetCertificate(String, StoreLocation, StoreName) |
Позволяет указать сертификат, используемый для представления службы, путем указания различающегося имени субъекта. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Позволяет указать сертификат, используемый для представления клиента, путем указания параметров запроса, например |
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, которое выполняет поиск с учетом регистра по имени субъекта сертификатов в указанном хранилище. Это может быть неточный поиск. При возврате нескольких сертификатов для представления клиента будет использоваться первый из них.