X509CertificateRecipientServiceCredential.SetCertificate Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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' |
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.