X509CertificateRecipientServiceCredential.SetCertificate Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje certifikát, který se má použít pro reprezentaci služby.
Přetížení
SetCertificate(String) |
Určuje certifikát, který se má použít pro reprezentaci služby zadáním rozlišujícího názvu subjektu. |
SetCertificate(String, StoreLocation, StoreName) |
Určuje certifikát, který se má použít pro reprezentaci služby zadáním rozlišujícího názvu subjektu, názvu úložiště certifikátů a umístění úložiště. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Určuje certifikát, který se má použít pro reprezentaci služby zadáním parametrů dotazu, například |
SetCertificate(String)
Určuje certifikát, který se má použít pro reprezentaci služby zadáním rozlišujícího názvu subjektu.
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
Rozlišující název předmětu
Příklady
Následující kód ukazuje, jak tuto metodu použít k nastavení certifikátu pro přihlašovací údaje služby z názvu subjektu.
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()
Poznámky
Další informace o parametru subjectName
najdete v tématu SubjectName.
Platí pro
SetCertificate(String, StoreLocation, StoreName)
Určuje certifikát, který se má použít pro reprezentaci služby zadáním rozlišujícího názvu subjektu, názvu úložiště certifikátů a umístění úložiště.
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
Rozlišující název předmětu
- storeLocation
- StoreLocation
Umístění úložiště certifikátů, které služba používá k získání certifikátu služby.
- storeName
- StoreName
Určuje název úložiště certifikátů X.509, které se má otevřít.
Příklady
Následující kód ukazuje, jak tuto metodu použít k nastavení certifikátu pro přihlašovací údaje služby.
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()
Poznámky
Další informace o parametru subjectName
najdete v tématu SubjectName.
Hodnoty pro storeLocation
jsou zahrnuty do výčtu StoreLocation :
LocalMachine: úložiště certifikátů přiřazené místnímu počítači (výchozí).
CurrentUser: úložiště certifikátů používané aktuálním uživatelem.
Pokud klientská aplikace běží pod systémovým účtem, certifikát je obvykle v LocalMachine. Pokud klientská aplikace běží pod uživatelským účtem, certifikát je obvykle v CurrentUser.
Hodnoty pro storeName
jsou zahrnuty do výčtu StoreName .
Platí pro
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Určuje certifikát, který se má použít pro reprezentaci služby zadáním parametrů dotazu, například storeLocation
, a storeName
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
Umístění úložiště certifikátů, které klient používá k získání klientského certifikátu.
- storeName
- StoreName
Určuje název úložiště certifikátů X.509, které se má otevřít.
- findType
- X509FindType
Definuje typ vyhledávání X.509, který se má spustit.
- findValue
- Object
Hodnota, kterou chcete vyhledat v úložišti certifikátů X.509.
Příklady
Následující kód ukazuje, jak tuto metodu použít k nastavení certifikátu pro přihlašovací údaje služby.
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()
Poznámky
Hodnoty pro storeLocation
jsou zahrnuty do výčtu StoreLocation :
LocalMachine: úložiště certifikátů přiřazené místnímu počítači (výchozí).
CurrentUser: úložiště certifikátů používané aktuálním uživatelem.
Pokud klientská aplikace běží pod systémovým účtem, certifikát je obvykle v LocalMachine. Pokud klientská aplikace běží pod uživatelským účtem, certifikát je obvykle v CurrentUser.
Hodnoty pro storeName
jsou zahrnuty do výčtu StoreName .
Hodnoty pro findType
jsou zahrnuty do výčtu X509FindType .
Nejčastěji používaný výčet je FindBySubjectName, který nerozlišuje velká a malá písmena vyhledávání názvu subjektu certifikátů v zadaném úložišti. Může to být nepřesné hledání. Pokud se vrátí více než jeden certifikát, použije se první certifikát, který odpovídá vyhledání, k reprezentaci klienta.