Compartilhar via


X509CertificateInitiatorClientCredential.SetCertificate Método

Definição

Especifica o certificado a ser usado para representar o serviço.

Sobrecargas

SetCertificate(String, StoreLocation, StoreName)

Permite especificar o certificado a ser usado para representar o serviço especificando o nome diferenciado da entidade.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Permite especificar o certificado a ser usado para representar o cliente especificando parâmetros de consulta, como storeLocation, storeName, findType e findValue.

SetCertificate(String, StoreLocation, StoreName)

Permite especificar o certificado a ser usado para representar o serviço especificando o nome diferenciado da entidade.

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)

Parâmetros

subjectName
String

Nome diferenciado da entidade.

storeLocation
StoreLocation

O local do repositório de certificados usado pelo serviço para obter o certificado de serviço.

storeName
StoreName

Especifica o nome do repositório de certificados X.509 a ser aberto.

Exemplos

O código a seguir especifica o certificado a ser usado.

// 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);

Comentários

Para obter mais informações sobre o subjectName parâmetro, consulte SubjectName.

Os valores são storeLocation incluídos na StoreLocation enumeração:

  • LocalMachine: o repositório de certificados atribuído ao computador local (padrão).

  • CurrentUser: o repositório de certificados usado pelo usuário atual.

Se o aplicativo cliente estiver em execução em uma conta do sistema, o certificado normalmente estará .LocalMachine Se o aplicativo cliente estiver em execução em uma conta de usuário, o certificado normalmente estará .CurrentUser

Os valores são storeName incluídos na StoreName enumeração.

Aplica-se a

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Permite especificar o certificado a ser usado para representar o cliente especificando parâmetros de consulta, como storeLocation, storeName, findType e 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)

Parâmetros

storeLocation
StoreLocation

O local do repositório de certificados usado pelo cliente para obter o certificado do cliente.

storeName
StoreName

Especifica o nome do repositório de certificados X.509 a ser aberto.

findType
X509FindType

Define o tipo de pesquisa de X.509 a ser executada.

findValue
Object

O valor a ser pesquisado no repositório de certificados X.509.

Exemplos

O código a seguir especifica o certificado a ser usado.

// 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")

Comentários

Os valores são storeLocation incluídos na StoreLocation enumeração:

  • LocalMachine: o repositório de certificados atribuído ao computador local (padrão).

  • CurrentUser: o repositório de certificados usado pelo usuário atual.

Se o aplicativo cliente estiver em execução em uma conta do sistema, o certificado normalmente estará .LocalMachine Se o aplicativo cliente estiver em execução em uma conta de usuário, o certificado normalmente estará .CurrentUser

Os valores são storeName incluídos na StoreName enumeração.

Os valores são findType incluídos na X509FindType enumeração.

A enumeração mais usada é FindBySubjectName, que faz uma pesquisa que não diferencia maiúsculas de minúsculas sobre o nome do assunto dos certificados no repositório especificado. Pode ser uma pesquisa imprecisa. Se mais de um certificado for retornado, o primeiro correspondente à localização será usado para representar o cliente.

Aplica-se a