X509CertificateRecipientServiceCredential.SetCertificate Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica o certificado a ser usado para representar o serviço.
Sobrecargas
SetCertificate(String) |
Especifica o certificado a ser usado para representar o serviço especificando o nome diferenciado da entidade. |
SetCertificate(String, StoreLocation, StoreName) |
Especifica o certificado a ser usado para representar o serviço especificando o nome diferenciado da entidade, o nome do repositório de certificados e o local do repositório. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Especifica o certificado a ser usado para representar o serviço especificando parâmetros de consulta, como |
SetCertificate(String)
Especifica o certificado a ser usado para representar o serviço especificando o nome diferenciado da entidade.
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
Nome diferenciado da entidade.
Exemplos
O código a seguir mostra como usar esse método para definir um certificado para uma credencial de serviço de um nome de entidade.
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()
Comentários
Para obter mais informações sobre o subjectName
parâmetro, consulte SubjectName.
Aplica-se a
SetCertificate(String, StoreLocation, StoreName)
Especifica o certificado a ser usado para representar o serviço especificando o nome diferenciado da entidade, o nome do repositório de certificados e o local do repositório.
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 mostra como usar esse método para definir um certificado para uma credencial de serviço.
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()
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)
Especifica o certificado a ser usado para representar o serviço 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 mostra como usar esse método para definir um certificado para uma credencial de serviço.
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()
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.