X509CertificateRecipientServiceCredential.SetCertificate Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u het certificaat op dat moet worden gebruikt voor het vertegenwoordigen van de service.
Overloads
| Name | Description |
|---|---|
| SetCertificate(String) |
Hiermee geeft u het certificaat op dat moet worden gebruikt voor het weergeven van de service door de DN-naam van het onderwerp op te geven. |
| SetCertificate(String, StoreLocation, StoreName) |
Hiermee geeft u het certificaat op dat moet worden gebruikt voor het weergeven van de service door de DN-naam van het onderwerp, de naam van het certificaatarchief en de opslaglocatie op te geven. |
| SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Hiermee geeft u het certificaat dat moet worden gebruikt voor het weergeven van de service door queryparameters zoals |
SetCertificate(String)
Hiermee geeft u het certificaat op dat moet worden gebruikt voor het weergeven van de service door de DN-naam van het onderwerp op te geven.
public:
void SetCertificate(System::String ^ subjectName);
public void SetCertificate(string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)
Parameters
- subjectName
- String
DN-naam van onderwerp.
Voorbeelden
De volgende code laat zien hoe u deze methode gebruikt om een certificaat in te stellen voor een servicereferentie van een onderwerpnaam.
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()
Opmerkingen
Zie voor meer informatie over de subjectName parameter SubjectName.
Van toepassing op
SetCertificate(String, StoreLocation, StoreName)
Hiermee geeft u het certificaat op dat moet worden gebruikt voor het weergeven van de service door de DN-naam van het onderwerp, de naam van het certificaatarchief en de opslaglocatie op te geven.
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)
Parameters
- subjectName
- String
DN-naam van onderwerp.
- storeLocation
- StoreLocation
De locatie van het certificaatarchief dat de service gebruikt om het servicecertificaat te verkrijgen.
- storeName
- StoreName
Hiermee geeft u de naam van het X.509-certificaatarchief dat moet worden geopend.
Voorbeelden
De volgende code laat zien hoe u deze methode gebruikt om een certificaat in te stellen voor een servicereferentie.
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()
Opmerkingen
Zie voor meer informatie over de subjectName parameter SubjectName.
Waarden voor storeLocation worden opgenomen in de StoreLocation opsomming:
LocalMachine: het certificaatarchief dat is toegewezen aan de lokale computer (standaard).
CurrentUser: het certificaatarchief dat door de huidige gebruiker wordt gebruikt.
Als de clienttoepassing wordt uitgevoerd onder een systeemaccount, bevindt het certificaat zich meestal in LocalMachine. Als de clienttoepassing wordt uitgevoerd onder een gebruikersaccount, bevindt het certificaat zich meestal in CurrentUser.
Waarden voor storeName worden opgenomen in de StoreName opsomming.
Van toepassing op
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Hiermee geeft u het certificaat dat moet worden gebruikt voor het weergeven van de service door queryparameters zoals storeLocation, storeNameen findTypefindValue.
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)
Parameters
- storeLocation
- StoreLocation
De locatie van het certificaatarchief dat de client gebruikt om het clientcertificaat te verkrijgen.
- storeName
- StoreName
Hiermee geeft u de naam van het X.509-certificaatarchief dat moet worden geopend.
- findType
- X509FindType
Definieert het type X.509-zoekopdracht dat moet worden uitgevoerd.
- findValue
- Object
De waarde die moet worden gezocht in het X.509-certificaatarchief.
Voorbeelden
De volgende code laat zien hoe u deze methode gebruikt om een certificaat in te stellen voor een servicereferentie.
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()
Opmerkingen
Waarden voor storeLocation worden opgenomen in de StoreLocation opsomming:
LocalMachine: het certificaatarchief dat is toegewezen aan de lokale computer (standaard).
CurrentUser: het certificaatarchief dat door de huidige gebruiker wordt gebruikt.
Als de clienttoepassing wordt uitgevoerd onder een systeemaccount, bevindt het certificaat zich meestal in LocalMachine. Als de clienttoepassing wordt uitgevoerd onder een gebruikersaccount, bevindt het certificaat zich meestal in CurrentUser.
Waarden voor storeName worden opgenomen in de StoreName opsomming.
Waarden voor findType worden opgenomen in de X509FindType opsomming.
De meest gebruikte opsomming is FindBySubjectName, die een hoofdlettergevoelige zoekopdracht doet op de onderwerpnaam van certificaten in het opgegeven archief. Dit kan een onnauwkeurig zoeken zijn. Als er meer dan één certificaat wordt geretourneerd, wordt de eerste die overeenkomt met de zoekfunctie gebruikt om de client weer te geven.