Partager via


X509CertificateRecipientServiceCredential.SetCertificate Méthode

Définition

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

Surcharges

SetCertificate(String)

Spécifie le certificat à utiliser pour représenter le service en spécifiant le nom unique du sujet.

SetCertificate(String, StoreLocation, StoreName)

Spécifie le certificat à utiliser pour représenter le service en spécifiant le nom unique du sujet, le nom et l'emplacement du magasin de certificats.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Spécifie le certificat à utiliser pour représenter le service en spécifiant des paramètres de requête tels que l'storeLocation, le storeName, le findType et la findValue.

SetCertificate(String)

Spécifie le certificat à utiliser pour représenter le service en spécifiant le nom unique du sujet.

public:
 void SetCertificate(System::String ^ subjectName);
public void SetCertificate (string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)

Paramètres

subjectName
String

Nom unique du sujet.

Exemples

Le code suivant montre comment utiliser cette méthode pour définir un certificat pour les informations d'identification d'un service à partir d'un nom de sujet.

NetTcpBinding b = new NetTcpBinding();
b.Security.Mode = SecurityMode.Message;
Type c = typeof(ICalculator);
Uri a = new Uri("net.tcp://MyMachineName/tcpBase");
Uri[] baseAddresses = new Uri[] { a };
ServiceHost sh = new ServiceHost(typeof(MyService), baseAddresses);
sh.AddServiceEndpoint(c, b, "Aloha");
sh.Credentials.ServiceCertificate.SetCertificate(
    "CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com");
sh.Open();
Dim b As New NetTcpBinding()
b.Security.Mode = SecurityMode.Message
Dim c As Type = GetType(ICalculator)
Dim a As New Uri("net.tcp://MyMachineName/tcpBase")
Dim baseAddresses() As Uri = { a }
Dim sh As New ServiceHost(GetType(MyService), baseAddresses)
sh.AddServiceEndpoint(c, b, "Aloha")
sh.Credentials.ServiceCertificate.SetCertificate("CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com")
sh.Open()

Remarques

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

S’applique à

SetCertificate(String, StoreLocation, StoreName)

Spécifie le certificat à utiliser pour représenter le service en spécifiant le nom unique du sujet, le nom et l'emplacement du magasin de certificats.

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 montre comment utiliser cette méthode pour définir un certificat pour les informations d'identification de service.

NetTcpBinding b = new NetTcpBinding();
b.Security.Mode = SecurityMode.Message;
Type c = typeof(ICalculator);
Uri a = new Uri("net.tcp://MyMachineName/tcpBase");
Uri[] baseAddresses = new Uri[] { a };
ServiceHost sh = new ServiceHost(typeof(MyService), baseAddresses);
sh.AddServiceEndpoint(c, b, "Aloha");
sh.Credentials.ServiceCertificate.SetCertificate(
    "CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com",
    StoreLocation.LocalMachine,
    StoreName.My);
sh.Open();
Dim b As New NetTcpBinding()
b.Security.Mode = SecurityMode.Message
Dim c As Type = GetType(ICalculator)
Dim a As New Uri("net.tcp://MyMachineName/tcpBase")
Dim baseAddresses() As Uri = { a }
Dim sh As New ServiceHost(GetType(MyService), baseAddresses)
sh.AddServiceEndpoint(c, b, "Aloha")
sh.Credentials.ServiceCertificate.SetCertificate("CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com", StoreLocation.LocalMachine, StoreName.My)
sh.Open()

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)

Spécifie le certificat à utiliser pour représenter le service en spécifiant des paramètres de requête tels que l'storeLocation, le storeName, le findType et la 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 montre comment utiliser cette méthode pour définir un certificat pour les informations d'identification de service.

    NetTcpBinding b = new NetTcpBinding();
    b.Security.Mode = SecurityMode.Message;
    Type c = typeof(ICalculator);
    Uri a = new Uri("net.tcp://MyMachineName/tcpBase");
    Uri[] baseAddresses = new Uri[] { a };
    ServiceHost sh = new ServiceHost(typeof(MyService), baseAddresses);
    sh.AddServiceEndpoint(c, b, "Aloha");
    sh.Credentials.ServiceCertificate.SetCertificate(
        StoreLocation.LocalMachine,
        StoreName.My,
        X509FindType.FindByThumbprint,
        "af1f50b20cd413ed9cd00c315bbb6dc1c08da5e6");
    sh.Open();
Dim b As New NetTcpBinding()
b.Security.Mode = SecurityMode.Message
Dim c As Type = GetType(ICalculator)
Dim a As New Uri("net.tcp://MyMachineName/tcpBase")
Dim baseAddresses() As Uri = { a }
Dim sh As New ServiceHost(GetType(MyService), baseAddresses)
sh.AddServiceEndpoint(c, b, "Aloha")
sh.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, "af1f50b20cd413ed9cd00c315bbb6dc1c08da5e6")
sh.Open()

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 à