X509CertificateRecipientServiceCredential.SetCertificate Metoda

Definice

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 storeLocation, a storeNamefindType findValue.

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 storeNamefindType 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.

Platí pro