X509CertificateInitiatorClientCredential.SetCertificate Metoda

Definice

Určuje certifikát, který se má použít k reprezentaci služby.Specifies the certificate to use to represent the service.

Přetížení

SetCertificate(String, StoreLocation, StoreName)

Umožňuje určit certifikát, který se má použít k reprezentaci služby zadáním rozlišujícího názvu subjektu.Allows you to specify the certificate to use to represent the service by specifying the subject distinguished name.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Umožňuje zadat certifikát, který se má použít k reprezentaci klienta, zadáním parametrů dotazu, jako jsou storeLocation , storeName findType a findValue .Allows you to specify the certificate to use to represent the client by specifying query parameters such as storeLocation, storeName, findType and findValue.

SetCertificate(String, StoreLocation, StoreName)

Umožňuje určit certifikát, který se má použít k reprezentaci služby zadáním rozlišujícího názvu subjektu.Allows you to specify the certificate to use to represent the service by specifying the subject distinguished name.

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)

Parametry

subjectName
String

Rozlišující název subjektuSubject distinguished name.

storeLocation
StoreLocation

Umístění úložiště certifikátů, které služba používá k získání certifikátu služby.The location of the certificate store the service uses to obtain the service certificate.

storeName
StoreName

Určuje název úložiště certifikátů X. 509, které se má otevřít.Specifies the name of the X.509 certificate store to open.

Příklady

Následující kód Určuje certifikát, který se má použít.The following code specifies the certificate to use.

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

Poznámky

Další informace o subjectName parametru naleznete v tématu SubjectName .For more information on the subjectName parameter, see SubjectName.

Hodnoty pro storeLocation jsou zahrnuty ve StoreLocation výčtu:Values for storeLocation are included in the StoreLocation enumeration:

  • LocalMachine: úložiště certifikátů přiřazené k místnímu počítači (výchozí).LocalMachine: the certificate store assigned to the local machine (default).

  • CurrentUser: úložiště certifikátů používané aktuálním uživatelem.CurrentUser: the certificate store used by the current user.

Pokud klientská aplikace běží pod účtem systému, certifikát se obvykle nachází v LocalMachine .If the client application is running under a system account, then the certificate is typically in LocalMachine. Pokud klientská aplikace běží pod uživatelským účtem, certifikát se obvykle nachází v CurrentUser .If the client application is running under a user account, then the certificate is typically in CurrentUser.

Hodnoty pro storeName jsou zahrnuty ve StoreName výčtu.Values for storeName are included in the StoreName enumeration.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Umožňuje zadat certifikát, který se má použít k reprezentaci klienta, zadáním parametrů dotazu, jako jsou storeLocation , storeName findType a findValue .Allows you to specify the certificate to use to represent the client by specifying query parameters such as storeLocation, storeName, findType and 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)

Parametry

storeLocation
StoreLocation

Umístění úložiště certifikátů, které klient používá k získání certifikátu klienta.The location of the certificate store the client uses to obtain the client certificate.

storeName
StoreName

Určuje název úložiště certifikátů X. 509, které se má otevřít.Specifies the name of the X.509 certificate store to open.

findType
X509FindType

Definuje typ hledání X. 509, které se má provést.Defines the type of X.509 search to be executed.

findValue
Object

Hodnota, která se má vyhledat v úložišti certifikátů X. 509The value to search for in the X.509 certificate store.

Příklady

Následující kód Určuje certifikát, který se má použít.The following code specifies the certificate to use.

// 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")

Poznámky

Hodnoty pro storeLocation jsou zahrnuty ve StoreLocation výčtu:Values for storeLocation are included in the StoreLocation enumeration:

  • LocalMachine: úložiště certifikátů přiřazené k místnímu počítači (výchozí).LocalMachine: the certificate store assigned to the local machine (default).

  • CurrentUser: úložiště certifikátů používané aktuálním uživatelem.CurrentUser: the certificate store used by the current user.

Pokud klientská aplikace běží pod účtem systému, certifikát se obvykle nachází v LocalMachine .If the client application is running under a system account, then the certificate is typically in LocalMachine. Pokud klientská aplikace běží pod uživatelským účtem, certifikát se obvykle nachází v CurrentUser .If the client application is running under a user account, then the certificate is typically in CurrentUser.

Hodnoty pro storeName jsou zahrnuty ve StoreName výčtu.Values for storeName are included in the StoreName enumeration.

Hodnoty pro findType jsou zahrnuty ve X509FindType výčtu.Values for findType are included in the X509FindType enumeration.

Nejčastěji používaný výčet je FindBySubjectName , který rozlišuje malá a velká písmena v názvu subjektu certifikátů v zadaném úložišti.The most commonly used enumeration is FindBySubjectName, which does a case-insensitive search on the subject name of certificates in the specified store. Může se jednat o nepřesné hledání.This can be an imprecise search. Pokud se vrátí více než jeden certifikát, použije se první, který odpovídá hledání, k reprezentaci klienta.If more than one certificate is returned then the first one matching the find is used to represent the client.

Platí pro