Freigeben über


X509CertificateInitiatorClientCredential.SetCertificate Methode

Definition

Gibt das Zertifikat an, das für die Darstellung des Diensts verwendet wird.

Überlädt

SetCertificate(String, StoreLocation, StoreName)

Ermöglicht Ihnen das Zertifikat festzulegen, das Sie zum Darstellen des Diensts verwenden, indem Sie den definierten Betreffnamen angeben.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Ermöglicht Ihnen das Zertifikat festzulegen, das Sie zum Darstellen des Clients verwenden, indem Sie Abfrageparameter wie die folgenden verwenden: storeLocation, storeName, findType und findValue.

SetCertificate(String, StoreLocation, StoreName)

Ermöglicht Ihnen das Zertifikat festzulegen, das Sie zum Darstellen des Diensts verwenden, indem Sie den definierten Betreffnamen angeben.

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

Im folgenden Codebeispiel wird das zu verwendende Zertifikat angegeben.

// Create a WSHttpBinding and set its security properties. The
// security mode is Message, and the client is authenticated with
// a certificate.
EndpointAddress ea = new EndpointAddress("http://contoso.com/");
WSHttpBinding b = new WSHttpBinding();
b.Security.Mode = SecurityMode.Message;
b.Security.Message.ClientCredentialType =
    MessageCredentialType.Certificate;

// Create the client with the binding and EndpointAddress.
CalculatorClient cc = new CalculatorClient(b, ea);

// Set the client credential value to a valid certificate.
cc.ClientCredentials.ClientCertificate.SetCertificate(
    "CN=MyName, OU=MyOrgUnit, C=US",
    StoreLocation.CurrentUser,
    StoreName.TrustedPeople);

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)

Ermöglicht Ihnen das Zertifikat festzulegen, das Sie zum Darstellen des Clients verwenden, indem Sie Abfrageparameter wie die folgenden verwenden: storeLocation, storeName, findType und 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)

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

Im folgenden Codebeispiel wird das zu verwendende Zertifikat angegeben.

// Create a WSHttpBinding and set its security properties. The
// security mode is Message, and the client is authenticated with
// a certificate.
EndpointAddress ea = new EndpointAddress("http://contoso.com/");
WSHttpBinding b = new WSHttpBinding();
b.Security.Mode = SecurityMode.Message;
b.Security.Message.ClientCredentialType =
    MessageCredentialType.Certificate;

// Create the client with the binding and EndpointAddress.
CalculatorClient cc = new CalculatorClient(b, ea);

// Set the client credential value to a valid certificate.
cc.ClientCredentials.ClientCertificate.SetCertificate(
    StoreLocation.CurrentUser,
    StoreName.TrustedPeople,
    X509FindType.FindBySubjectName,
    "client.com");
' Create a WSHttpBinding and set its security properties. The
' security mode is Message, and the client is authenticated with 
' a certificate.
Dim ea As New EndpointAddress("http://contoso.com/")
Dim b As New WSHttpBinding()
b.Security.Mode = SecurityMode.Message
b.Security.Message.ClientCredentialType = MessageCredentialType.Certificate

' Create the client with the binding and EndpointAddress.
Dim cc As New CalculatorClient(b, ea)

' Set the client credential value to a valid certificate.
cc.ClientCredentials.ClientCertificate.SetCertificate( _
   StoreLocation.CurrentUser, _
   StoreName.TrustedPeople, _
   X509FindType.FindBySubjectName, _
   "client.com")

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.

Gilt für