Поделиться через


X509CertificateRecipientClientCredential.SetDefaultCertificate Метод

Определение

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

Перегрузки

SetDefaultCertificate(String, StoreLocation, StoreName)

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

SetDefaultCertificate(StoreLocation, StoreName, X509FindType, Object)

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

Комментарии

Эти методы загружают из хранилища по указанному расположению сертификат, соответствующий заданным параметрам.

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

SetDefaultCertificate(String, StoreLocation, StoreName)

Исходный код:
X509CertificateRecipientClientCredential.cs
Исходный код:
X509CertificateRecipientClientCredential.cs

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

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

Параметры

subjectName
String

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

storeLocation
StoreLocation

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

storeName
StoreName

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

Исключения

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

Предпринята попытка установки, когда учетные данные доступны только для чтения.

Примеры

В следующем примере кода показано, как с помощью этого метода указать сертификат X.509.

public void snippet23(CalculatorClient cc)
{
    X509CertificateRecipientClientCredential rcc = cc.ClientCredentials.ServiceCertificate;
    rcc.SetDefaultCertificate("http://fabrikam.com/sts",
                             StoreLocation.CurrentUser,
                             StoreName.TrustedPeople);
}

Комментарии

Этот метод загружает из хранилища по указанному расположению сертификат, соответствующий параметру subjectName.

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

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

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

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

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

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

SetDefaultCertificate(StoreLocation, StoreName, X509FindType, Object)

Исходный код:
X509CertificateRecipientClientCredential.cs
Исходный код:
X509CertificateRecipientClientCredential.cs

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

public:
 void SetDefaultCertificate(System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName, System::Security::Cryptography::X509Certificates::X509FindType findType, System::Object ^ findValue);
public void SetDefaultCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue);
member this.SetDefaultCertificate : System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName * System.Security.Cryptography.X509Certificates.X509FindType * obj -> unit
Public Sub SetDefaultCertificate (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.

Исключения

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

Предпринята попытка установки, когда учетные данные доступны только для чтения.

Примеры

В следующем примере кода показано, как с помощью этого метода указать сертификат X.509.

public void snippet22(CalculatorClient cc)
{
    X509CertificateRecipientClientCredential rcc = cc.ClientCredentials.ServiceCertificate;
    rcc.SetDefaultCertificate(StoreLocation.CurrentUser,
                             StoreName.TrustedPeople,
                             X509FindType.FindBySubjectName,
                             "FabrikamSTS");
}

Комментарии

Этот метод загружает из хранилища по указанному расположению сертификат, соответствующий параметрам findType и findValue.

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

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

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

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

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

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

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

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