X509CertificateInitiatorClientCredential.SetCertificate Método

Definición

Especifica el certificado que se utiliza para representar al servicio.Specifies the certificate to use to represent the service.

Sobrecargas

SetCertificate(String, StoreLocation, StoreName)

Le permite especificar el certificado que se utiliza para representar al servicio especificando el nombre distintivo (DN) del asunto.Allows you to specify the certificate to use to represent the service by specifying the subject distinguished name.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Le permite especificar el certificado que se va a utilizar para representar al cliente especificando parámetros de la consulta como storeLocation, storeName, findType y findValue.Allows you to specify the certificate to use to represent the client by specifying query parameters such as storeLocation, storeName, findType and findValue.

SetCertificate(String, StoreLocation, StoreName)

Le permite especificar el certificado que se utiliza para representar al servicio especificando el nombre distintivo (DN) del asunto.Allows you to specify the certificate to use to represent the service by specifying the subject distinguished name.

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

Nombre distintivo del asunto.Subject distinguished name.

storeLocation
StoreLocation

La ubicación del almacén de certificados que el servicio utiliza para obtener el certificado del servicio.The location of the certificate store the service uses to obtain the service certificate.

storeName
StoreName

Especifica el nombre del almacén del certificado X.509 que se va a abrir.Specifies the name of the X.509 certificate store to open.

Ejemplos

El siguiente código especifica el certificado que se va a utilizar.The following code specifies the certificate to use.

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

Comentarios

Para obtener más información sobre el parámetro subjectName, vea SubjectName.For more information on the subjectName parameter, see SubjectName.

Los valores para storeLocation están incluidos en la enumeración StoreLocation:Values for storeLocation are included in the StoreLocation enumeration:

  • LocalMachine: el almacén de certificados asignado al equipo local (predeterminado).LocalMachine: the certificate store assigned to the local machine (default).

  • CurrentUser: el almacén de certificados utilizado por el usuario actual.CurrentUser: the certificate store used by the current user.

Si la aplicación cliente se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente en LocalMachine.If the client application is running under a system account, then the certificate is typically in LocalMachine. Si la aplicación cliente se está ejecutando en una cuenta de usuario, entonces el certificado se encuentra normalmente en CurrentUser.If the client application is running under a user account, then the certificate is typically in CurrentUser.

Los valores para storeName están incluidos en la enumeración StoreName.Values for storeName are included in the StoreName enumeration.

Se aplica a

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Le permite especificar el certificado que se va a utilizar para representar al cliente especificando parámetros de la consulta como storeLocation, storeName, findType y findValue.Allows you to specify the certificate to use to represent the client by specifying query parameters such as storeLocation, storeName, findType and 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

La ubicación del almacén de certificados que el cliente utiliza para obtener el certificado de cliente.The location of the certificate store the client uses to obtain the client certificate.

storeName
StoreName

Especifica el nombre del almacén del certificado X.509 que se va a abrir.Specifies the name of the X.509 certificate store to open.

findType
X509FindType

Define el tipo de búsqueda de X.509 que se va a ejecutar.Defines the type of X.509 search to be executed.

findValue
Object

El valor que se va a buscar en el almacén de certificados X.509.The value to search for in the X.509 certificate store.

Ejemplos

El siguiente código especifica el certificado que se va a utilizar.The following code specifies the certificate to use.

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

Comentarios

Los valores para storeLocation están incluidos en la enumeración StoreLocation:Values for storeLocation are included in the StoreLocation enumeration:

  • LocalMachine: el almacén de certificados asignado al equipo local (predeterminado).LocalMachine: the certificate store assigned to the local machine (default).

  • CurrentUser: el almacén de certificados utilizado por el usuario actual.CurrentUser: the certificate store used by the current user.

Si la aplicación cliente se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente en LocalMachine.If the client application is running under a system account, then the certificate is typically in LocalMachine. Si la aplicación cliente se está ejecutando en una cuenta de usuario, entonces el certificado se encuentra normalmente en CurrentUser.If the client application is running under a user account, then the certificate is typically in CurrentUser.

Los valores para storeName están incluidos en la enumeración StoreName.Values for storeName are included in the StoreName enumeration.

Los valores para findType están incluidos en la enumeración X509FindType.Values for findType are included in the X509FindType enumeration.

La enumeración normalmente utilizada es FindBySubjectName, que hace una búsqueda sin distinción entre mayúsculas y minúsculas en el nombre del asunto de certificados en el almacén especificado.The most commonly used enumeration is FindBySubjectName, which does a case-insensitive search on the subject name of certificates in the specified store. Ésta puede ser una búsqueda imprecisa.This can be an imprecise search. Si más de un certificado se devuelve, a continuación el primero que coincida con la búsqueda se utiliza para representar al cliente.If more than one certificate is returned then the first one matching the find is used to represent the client.

Se aplica a