X509CertificateRecipientServiceCredential.SetCertificate Methode

Definitie

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 storeLocation, storeNameen findTypefindValue.

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.

Van toepassing op