X509CertificateRecipientServiceCredential.SetCertificate Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa certyfikat, który ma być używany do reprezentowania usługi.
Przeciążenia
SetCertificate(String) |
Określa certyfikat, który ma być używany do reprezentowania usługi, określając nazwę wyróżniającą podmiotu. |
SetCertificate(String, StoreLocation, StoreName) |
Określa certyfikat, który ma być używany do reprezentowania usługi, określając nazwę wyróżniającą podmiotu, nazwę magazynu certyfikatów i lokalizację magazynu. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Określa certyfikat, który ma być używany do reprezentowania usługi, określając parametry zapytania, takie jak |
SetCertificate(String)
Określa certyfikat, który ma być używany do reprezentowania usługi, określając nazwę wyróżniającą podmiotu.
public:
void SetCertificate(System::String ^ subjectName);
public void SetCertificate (string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)
Parametry
- subjectName
- String
Nazwa wyróżniająca podmiotu.
Przykłady
Poniższy kod pokazuje, jak za pomocą tej metody ustawić certyfikat dla poświadczeń usługi z nazwy podmiotu.
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()
Uwagi
Aby uzyskać więcej informacji na temat parametru subjectName
, zobacz SubjectName.
Dotyczy
SetCertificate(String, StoreLocation, StoreName)
Określa certyfikat, który ma być używany do reprezentowania usługi, określając nazwę wyróżniającą podmiotu, nazwę magazynu certyfikatów i lokalizację magazynu.
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)
Parametry
- subjectName
- String
Nazwa wyróżniająca podmiotu.
- storeLocation
- StoreLocation
Lokalizacja magazynu certyfikatów używana przez usługę do uzyskania certyfikatu usługi.
- storeName
- StoreName
Określa nazwę magazynu certyfikatów X.509 do otwarcia.
Przykłady
Poniższy kod pokazuje, jak za pomocą tej metody ustawić certyfikat dla poświadczeń usługi.
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()
Uwagi
Aby uzyskać więcej informacji na temat parametru subjectName
, zobacz SubjectName.
Wartości dla storeLocation
są uwzględniane w wyliczeniem StoreLocation :
LocalMachine: magazyn certyfikatów przypisany do komputera lokalnego (wartość domyślna).
CurrentUser: magazyn certyfikatów używany przez bieżącego użytkownika.
Jeśli aplikacja kliencka jest uruchomiona na koncie systemowym, certyfikat jest zazwyczaj w LocalMachinesystemie . Jeśli aplikacja kliencka jest uruchomiona na koncie użytkownika, certyfikat jest zazwyczaj w elemecie CurrentUser.
Wartości dla storeName
są uwzględniane w wyliczeniem StoreName .
Dotyczy
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Określa certyfikat, który ma być używany do reprezentowania usługi, określając parametry zapytania, takie jak storeLocation
, storeName
i findType
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)
Parametry
- storeLocation
- StoreLocation
Lokalizacja magazynu certyfikatów używanego przez klienta do uzyskania certyfikatu klienta.
- storeName
- StoreName
Określa nazwę magazynu certyfikatów X.509 do otwarcia.
- findType
- X509FindType
Definiuje typ wyszukiwania X.509 do wykonania.
- findValue
- Object
Wartość do wyszukania w magazynie certyfikatów X.509.
Przykłady
Poniższy kod pokazuje, jak za pomocą tej metody ustawić certyfikat dla poświadczeń usługi.
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()
Uwagi
Wartości dla storeLocation
są uwzględniane w wyliczeniem StoreLocation :
LocalMachine: magazyn certyfikatów przypisany do komputera lokalnego (wartość domyślna).
CurrentUser: magazyn certyfikatów używany przez bieżącego użytkownika.
Jeśli aplikacja kliencka jest uruchomiona na koncie systemowym, certyfikat jest zazwyczaj w LocalMachinesystemie . Jeśli aplikacja kliencka jest uruchomiona na koncie użytkownika, certyfikat jest zazwyczaj w elemecie CurrentUser.
Wartości dla storeName
są uwzględniane w wyliczeniem StoreName .
Wartości dla findType
są uwzględniane w wyliczeniem X509FindType .
Najczęściej używane wyliczenie to FindBySubjectName, co umożliwia wyszukiwanie bez uwzględniania wielkości liter w nazwie podmiotu certyfikatów w określonym magazynie. Może to być nieprecyzyjne wyszukiwanie. Jeśli zwracany jest więcej niż jeden certyfikat, pierwszy pasujący do znajdowania jest używany do reprezentowania klienta.