X509CertificateRecipientServiceCredential.SetCertificate Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il certificato da utilizzare per rappresentare il servizio.
Overload
SetCertificate(String) |
Specifica il certificato da utilizzare per rappresentare il servizio specificando il nome distinto del soggetto. |
SetCertificate(String, StoreLocation, StoreName) |
Specifica il certificato da utilizzare per rappresentare il servizio specificando il nome distinto del soggetto, il nome dell'archivio certificati e il percorso dell'archivio. |
SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Specifica il certificato da utilizzare per rappresentare il servizio specificando parametri delle query quali |
SetCertificate(String)
Specifica il certificato da utilizzare per rappresentare il servizio specificando il nome distinto del soggetto.
public:
void SetCertificate(System::String ^ subjectName);
public void SetCertificate (string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)
Parametri
- subjectName
- String
Nome distinto del soggetto.
Esempio
Nel codice seguente viene illustrato come utilizzare questo metodo per impostare un certificato per le credenziali di un servizio da un nome distinto del soggetto.
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()
Commenti
Per ulteriori informazioni sul parametro subjectName
, vedere SubjectName.
Si applica a
SetCertificate(String, StoreLocation, StoreName)
Specifica il certificato da utilizzare per rappresentare il servizio specificando il nome distinto del soggetto, il nome dell'archivio certificati e il percorso dell'archivio.
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)
Parametri
- subjectName
- String
Nome distinto del soggetto.
- storeLocation
- StoreLocation
Percorso dell'archivio certificati utilizzato dal servizio per ottenere il certificato del servizio.
- storeName
- StoreName
Specifica il nome dell'archivio certificati X.509 da aprire.
Esempio
Nel codice seguente viene illustrato come utilizzare questo metodo per impostare un certificato per le credenziali di un servizio.
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()
Commenti
Per ulteriori informazioni sul parametro subjectName
, vedere SubjectName.
I valori del parametro storeLocation
sono compresi nell'enumerazione StoreLocation:
LocalMachine: l'archivio certificati assegnato al computer locale (predefinito).
CurrentUser: l'archivio certificati utilizzato dall'utente corrente.
Se l'applicazione client è in esecuzione in un account del sistema, il certificato è in genere in LocalMachine. Se l'applicazione client è in esecuzione in un account utente, il certificato è in genere in CurrentUser.
I valori del parametro storeName
sono compresi nell'enumerazione StoreName.
Si applica a
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Specifica il certificato da utilizzare per rappresentare il servizio specificando parametri delle query quali 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)
Parametri
- storeLocation
- StoreLocation
Percorso dell'archivio certificati utilizzato dal client per ottenere il certificato del client.
- storeName
- StoreName
Specifica il nome dell'archivio certificati X.509 da aprire.
- findType
- X509FindType
Definisce il tipo di ricerca X.509 da eseguire.
- findValue
- Object
Valore da cercare nell'archivio certificati X.509.
Esempio
Nel codice seguente viene illustrato come utilizzare questo metodo per impostare un certificato per le credenziali di un servizio.
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()
Commenti
I valori del parametro storeLocation
sono compresi nell'enumerazione StoreLocation:
LocalMachine: l'archivio certificati assegnato al computer locale (predefinito).
CurrentUser: l'archivio certificati utilizzato dall'utente corrente.
Se l'applicazione client è in esecuzione in un account del sistema, il certificato è in genere in LocalMachine. Se l'applicazione client è in esecuzione in un account utente, il certificato è in genere in CurrentUser.
I valori del parametro storeName
sono compresi nell'enumerazione StoreName.
I valori del parametro findType
sono compresi nell'enumerazione X509FindType.
L'enumerazione più comunemente usata è FindBySubjectName, che effettua una ricerca senza distinzione fra maiuscole e minuscole sul nome soggetto dei certificati nell'archivio specificato. Può trattarsi di una ricerca imprecisa. Se viene restituito più di un certificato, viene utilizzato il primo che corrisponde alla ricerca per rappresentare il client.