Partager via


X509CertificateInitiatorClientCredential.SetCertificate Méthode

Définition

Spécifie le certificat à utiliser pour représenter le service.

Surcharges

SetCertificate(String, StoreLocation, StoreName)

Vous permet de spécifier le certificat à utiliser pour représenter le service en spécifiant le nom unique de sujet.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Vous permet de spécifier le certificat à utiliser pour représenter le client en spécifiant des paramètres de requête tels que storeLocation, storeName, findType et findValue.

SetCertificate(String, StoreLocation, StoreName)

Vous permet de spécifier le certificat à utiliser pour représenter le service en spécifiant le nom unique de sujet.

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)

Paramètres

subjectName
String

Nom unique du sujet.

storeLocation
StoreLocation

L'emplacement du magasin de certificats que le service utilise pour obtenir le certificat de service.

storeName
StoreName

Spécifie le nom du magasin de certificats X.509 à ouvrir.

Exemples

Le code suivant spécifie le certificat à utiliser.

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

Remarques

Pour plus d'informations sur le paramètre subjectName, consultez SubjectName.

Les valeurs pour storeLocation sont incluses dans l'énumération StoreLocation :

  • LocalMachine : le magasin de certificats assigné à l'ordinateur local (par défaut).

  • CurrentUser : le magasin de certificats utilisé par l'utilisateur actuel.

Si l'application cliente s'exécute sous un compte système, le certificat se trouve généralement dans LocalMachine. Si l'application cliente s'exécute sous un compte d'utilisateur, le certificat se trouve généralement dans CurrentUser.

Les valeurs pour storeName sont incluses dans l'énumération StoreName.

S’applique à

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Vous permet de spécifier le certificat à utiliser pour représenter le client en spécifiant des paramètres de requête tels que storeLocation, storeName, findType et 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)

Paramètres

storeLocation
StoreLocation

L'emplacement du magasin de certificats que le client utilise pour obtenir le certificat client.

storeName
StoreName

Spécifie le nom du magasin de certificats X.509 à ouvrir.

findType
X509FindType

Définit le type de recherche X.509 à exécuter.

findValue
Object

Valeur à rechercher dans le magasin de certificats X.509.

Exemples

Le code suivant spécifie le certificat à utiliser.

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

Remarques

Les valeurs pour storeLocation sont incluses dans l'énumération StoreLocation :

  • LocalMachine : le magasin de certificats assigné à l'ordinateur local (par défaut).

  • CurrentUser : le magasin de certificats utilisé par l'utilisateur actuel.

Si l'application cliente s'exécute sous un compte système, le certificat se trouve généralement dans LocalMachine. Si l'application cliente s'exécute sous un compte d'utilisateur, le certificat se trouve généralement dans CurrentUser.

Les valeurs pour storeName sont incluses dans l'énumération StoreName.

Les valeurs pour findType sont incluses dans l'énumération X509FindType.

L'énumération la plus communément utilisée est FindBySubjectName, qui recherche dans le magasin spécifié (non sensible à la casse) le nom de sujet des certificats. Cette recherche peut être imprécise. Si plusieurs certificats sont retournés, le premier est utilisé pour représenter le client.

S’applique à