X509CertificateRecipientServiceCredential.SetCertificate Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das Zertifikat an, mit dem der Dienst dargestellt wird.
Überlädt
SetCertificate(String) |
Gibt das Zertifikat an, das zum Darstellen des Diensts durch Angabe des definierten Betreffnamens verwendet wird. |
SetCertificate(String, StoreLocation, StoreName) |
Gibt das Zertifikat an, das zum Darstellen des Diensts durch Angabe des definierten Betreffnamens, Zertifikatspeichernamens und Speicherpfads verwendet wird. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Gibt das Zertifikat für die Darstellung des Diensts durch Angabe von Abfrageparametern wie |
SetCertificate(String)
Gibt das Zertifikat an, das zum Darstellen des Diensts durch Angabe des definierten Betreffnamens verwendet wird.
public:
void SetCertificate(System::String ^ subjectName);
public void SetCertificate (string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)
Parameter
- subjectName
- String
Definierter Betreffname.
Beispiele
Der folgende Code zeigt, wie diese Methode verwendet wird, um ein Zertifikat für Dienstanmeldeinformationen anhand eines Betreffnamens festzulegen.
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()
Hinweise
Weitere Informationen über den subjectName
-Parameter finden Sie unter SubjectName.
Gilt für
SetCertificate(String, StoreLocation, StoreName)
Gibt das Zertifikat an, das zum Darstellen des Diensts durch Angabe des definierten Betreffnamens, Zertifikatspeichernamens und Speicherpfads verwendet wird.
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)
Parameter
- subjectName
- String
Definierter Betreffname.
- storeLocation
- StoreLocation
Der Speicherort des Zertifikatspeichers, den der Dienst zum Abrufen des Dienstzertifikats verwendet.
- storeName
- StoreName
Gibt den Namen des X.509-Zertifikatsspeichers an, der geöffnet werden soll.
Beispiele
Der folgende Code zeigt, wie diese Methode verwendet wird, um ein Zertifikat für Dienstanmeldeinformationen festzulegen.
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()
Hinweise
Weitere Informationen über den subjectName
-Parameter finden Sie unter SubjectName.
Werte für storeLocation
sind in der StoreLocation-Enumeration enthalten:
LocalMachine: Der dem lokalen Computer zugewiesene Zertifikatsspeicher (Standardeinstellung).
CurrentUser: Der vom aktuellen Benutzer verwendete Zertifikatsspeicher.
Wenn die Clientanwendung über ein Systemkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in LocalMachine. Wenn die Clientanwendung über ein Benutzerkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in CurrentUser.
Werte für storeName
sind in der StoreName-Enumeration enthalten.
Gilt für
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Gibt das Zertifikat für die Darstellung des Diensts durch Angabe von Abfrageparametern wie storeLocation
, storeName
, findType
und findValue
an.
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)
Parameter
- storeLocation
- StoreLocation
Der Speicherort des Zertifikatspeichers, den der Client verwendet, um das Clientzertifikat zu erhalten.
- storeName
- StoreName
Gibt den Namen des X.509-Zertifikatsspeichers an, der geöffnet werden soll.
- findType
- X509FindType
Definiert den Typ der X.509-Suche, die ausgeführt werden soll.
- findValue
- Object
Der Wert, nach dem im X.509-Zertifikatspeicher gesucht werden soll.
Beispiele
Der folgende Code zeigt, wie diese Methode verwendet wird, um ein Zertifikat für Dienstanmeldeinformationen festzulegen.
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()
Hinweise
Werte für storeLocation
sind in der StoreLocation-Enumeration enthalten:
LocalMachine: Der dem lokalen Computer zugewiesene Zertifikatsspeicher (Standardeinstellung).
CurrentUser: Der vom aktuellen Benutzer verwendete Zertifikatsspeicher.
Wenn die Clientanwendung über ein Systemkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in LocalMachine. Wenn die Clientanwendung über ein Benutzerkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in CurrentUser.
Werte für storeName
sind in der StoreName-Enumeration enthalten.
Werte für findType
sind in der X509FindType-Enumeration enthalten.
Die am häufigsten verwendete Enumeration ist FindBySubjectName, die eine Suche in den Betreffnamen der Zertifikate im angegebenen Speicher durchführt, wobei zwischen Groß- und Kleinschreibung unterschieden wird. Dies kann eine ungenaue Suche sein. Wenn mehr als ein Zertifikat zurückgegeben wird, wird das erste mit der Suche übereinstimmende Zertifikat für die Darstellung des Clients verwendet.