X509CertificateRecipientServiceCredential.SetCertificate Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica el certificado que se debe utilizar para representar al servicio.
Sobrecargas
SetCertificate(String) |
Especifica el certificado que se debe utilizar para representar el servicio especificando el nombre distintivo (DN) del asunto. |
SetCertificate(String, StoreLocation, StoreName) |
Especifica el certificado que se debe utilizar para representar el servicio especificando el nombre distintivo (DN) del asunto, el nombre del almacén de certificados y la ubicación de almacenamiento. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Especifica el certificado que se va a utilizar para representar al servicio especificando los parámetros de la consulta como |
SetCertificate(String)
Especifica el certificado que se debe utilizar para representar el servicio especificando el nombre distintivo (DN) del asunto.
public:
void SetCertificate(System::String ^ subjectName);
public void SetCertificate (string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)
Parámetros
- subjectName
- String
Nombre distintivo del asunto.
Ejemplos
El siguiente código muestra cómo utilizar este método para establecer un certificado para una credencial del servicio a partir de un nombre de asunto.
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()
Comentarios
Para obtener más información sobre el parámetro subjectName
, vea SubjectName.
Se aplica a
SetCertificate(String, StoreLocation, StoreName)
Especifica el certificado que se debe utilizar para representar el servicio especificando el nombre distintivo (DN) del asunto, el nombre del almacén de certificados y la ubicación de almacenamiento.
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.
- storeLocation
- StoreLocation
La ubicación del almacén de certificados que el servicio utiliza para obtener el certificado del servicio.
- storeName
- StoreName
Especifica el nombre del almacén del certificado X.509 que se va a abrir.
Ejemplos
El siguiente código muestra cómo utilizar este método para establecer un certificado para una credencial del servicio.
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()
Comentarios
Para obtener más información sobre el parámetro subjectName
, vea SubjectName.
Los valores para storeLocation
están incluidos en la enumeración StoreLocation:
LocalMachine: el almacén de certificados asignado al equipo local (predeterminado).
CurrentUser: el almacén de certificados utilizado por el usuario actual.
Si la aplicación cliente se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente en LocalMachine. Si la aplicación cliente se está ejecutando en una cuenta de usuario, entonces el certificado se encuentra normalmente en CurrentUser.
Los valores para storeName
están incluidos en la enumeración StoreName.
Se aplica a
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Especifica el certificado que se va a utilizar para representar al servicio especificando los parámetros de la consulta como storeLocation
, storeName
, findType
y 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.
- storeName
- StoreName
Especifica el nombre del almacén del certificado X.509 que se va a abrir.
- findType
- X509FindType
Define el tipo de búsqueda de X.509 que se va a ejecutar.
- findValue
- Object
El valor que se va a buscar en el almacén de certificados X.509.
Ejemplos
El siguiente código muestra cómo utilizar este método para establecer un certificado para una credencial del servicio.
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()
Comentarios
Los valores para storeLocation
están incluidos en la enumeración StoreLocation:
LocalMachine: el almacén de certificados asignado al equipo local (predeterminado).
CurrentUser: el almacén de certificados utilizado por el usuario actual.
Si la aplicación cliente se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente en LocalMachine. Si la aplicación cliente se está ejecutando en una cuenta de usuario, entonces el certificado se encuentra normalmente en CurrentUser.
Los valores para storeName
están incluidos en la enumeración StoreName.
Los valores para findType
están incluidos en la enumeración X509FindType.
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. Ésta puede ser una búsqueda imprecisa. 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.