X509CertificateInitiatorClientCredential.SetCertificate Metodo

Definizione

Specifica il certificato da utilizzare per rappresentare il servizio.Specifies the certificate to use to represent the service.

Overload

SetCertificate(String, StoreLocation, StoreName)

Consente di specificare il certificato da utilizzare per rappresentare il servizio specificando il nome distinto del soggetto.Allows you to specify the certificate to use to represent the service by specifying the subject distinguished name.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Consente di specificare il certificato da utilizzare per rappresentare il client specificando parametri delle query quali storeLocation, storeName, findType e 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)

Consente di specificare il certificato da utilizzare per rappresentare il servizio specificando il nome distinto del soggetto.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)

Parametri

subjectName
String

Nome distinto del soggetto.Subject distinguished name.

storeLocation
StoreLocation

Percorso dell'archivio certificati utilizzato dal servizio per ottenere il certificato del servizio.The location of the certificate store the service uses to obtain the service certificate.

storeName
StoreName

Specifica il nome dell'archivio certificati X.509 da aprire.Specifies the name of the X.509 certificate store to open.

Esempio

Nell'esempio di codice seguente viene specificato il certificato da utilizzare.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);

Commenti

Per ulteriori informazioni sul parametro subjectName, vedere SubjectName.For more information on the subjectName parameter, see SubjectName.

I valori del parametro storeLocation sono compresi nell'enumerazione StoreLocation:Values for storeLocation are included in the StoreLocation enumeration:

  • LocalMachine: l'archivio certificati assegnato al computer locale (predefinito).LocalMachine: the certificate store assigned to the local machine (default).

  • CurrentUser: l'archivio certificati utilizzato dall'utente corrente.CurrentUser: the certificate store used by the current user.

Se l'applicazione client è in esecuzione in un account del sistema, il certificato è in genere in LocalMachine.If the client application is running under a system account, then the certificate is typically in LocalMachine. Se l'applicazione client è in esecuzione in un account utente, il certificato è in genere in CurrentUser.If the client application is running under a user account, then the certificate is typically in CurrentUser.

I valori del parametro storeName sono compresi nell'enumerazione StoreName.Values for storeName are included in the StoreName enumeration.

Si applica a

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

Consente di specificare il certificato da utilizzare per rappresentare il client specificando parametri delle query quali storeLocation, storeName, findType e 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)

Parametri

storeLocation
StoreLocation

Percorso dell'archivio certificati utilizzato dal client per ottenere il certificato del client.The location of the certificate store the client uses to obtain the client certificate.

storeName
StoreName

Specifica il nome dell'archivio certificati X.509 da aprire.Specifies the name of the X.509 certificate store to open.

findType
X509FindType

Definisce il tipo di ricerca X.509 da eseguire.Defines the type of X.509 search to be executed.

findValue
Object

Valore da cercare nell'archivio certificati X.509.The value to search for in the X.509 certificate store.

Esempio

Nell'esempio di codice seguente viene specificato il certificato da utilizzare.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")

Commenti

I valori del parametro storeLocation sono compresi nell'enumerazione StoreLocation:Values for storeLocation are included in the StoreLocation enumeration:

  • LocalMachine: l'archivio certificati assegnato al computer locale (predefinito).LocalMachine: the certificate store assigned to the local machine (default).

  • CurrentUser: l'archivio certificati utilizzato dall'utente corrente.CurrentUser: the certificate store used by the current user.

Se l'applicazione client è in esecuzione in un account del sistema, il certificato è in genere in LocalMachine.If the client application is running under a system account, then the certificate is typically in LocalMachine. Se l'applicazione client è in esecuzione in un account utente, il certificato è in genere in CurrentUser.If the client application is running under a user account, then the certificate is typically in CurrentUser.

I valori del parametro storeName sono compresi nell'enumerazione StoreName.Values for storeName are included in the StoreName enumeration.

I valori del parametro findType sono compresi nell'enumerazione X509FindType.Values for findType are included in the X509FindType enumeration.

L'enumerazione più comunemente usata è FindBySubjectName, che effettua una ricerca senza distinzione fra maiuscole e minuscole sul nome soggetto dei certificati nell'archivio specificato.The most commonly used enumeration is FindBySubjectName, which does a case-insensitive search on the subject name of certificates in the specified store. Può trattarsi di una ricerca imprecisa.This can be an imprecise search. Se viene restituito più di un certificato, viene utilizzato il primo che corrisponde alla ricerca per rappresentare il client.If more than one certificate is returned then the first one matching the find is used to represent the client.

Si applica a