X509CertificateRecipientClientCredential.SetScopedCertificate Método

Definición

Establece un certificado de un almacén y lo almacena en una colección indizada por la dirección URL que establece el ámbito.

Sobrecargas

SetScopedCertificate(String, StoreLocation, StoreName, Uri)

Establece un certificado por nombre de asunto, la ubicación del almacén de certificados, el nombre del almacén de certificados y lo almacena en una colección que se va a usar para la dirección URL que establece el ámbito.

SetScopedCertificate(StoreLocation, StoreName, X509FindType, Object, Uri)

Establece un certificado por ubicación del almacén de certificados, el nombre del almacén de certificados, el tipo de búsqueda de X.509, el valor que se va a buscar y lo almacena en una colección que se va a usar para la dirección URL que establece el ámbito.

SetScopedCertificate(String, StoreLocation, StoreName, Uri)

Establece un certificado por nombre de asunto, la ubicación del almacén de certificados, el nombre del almacén de certificados y lo almacena en una colección que se va a usar para la dirección URL que establece el ámbito.

public:
 void SetScopedCertificate(System::String ^ subjectName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName, Uri ^ targetService);
public void SetScopedCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, Uri targetService);
member this.SetScopedCertificate : string * System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName * Uri -> unit
Public Sub SetScopedCertificate (subjectName As String, storeLocation As StoreLocation, storeName As StoreName, targetService As Uri)

Parámetros

subjectName
String

El nombre del asunto debe ser completo.

storeLocation
StoreLocation

La ubicación del almacén de certificados que el servicio utiliza para obtener el certificado del servicio.

storeName
StoreName

Obtiene el nombre del almacén de certificados X.509.

targetService
Uri

La dirección URL que establece el ámbito.

Excepciones

subjectName o targetService es null.

Se intentó establecer cuando la credencial es de solo lectura.

Ejemplos

Este código muestra cómo llamar a este método.

public void snippet25(CalculatorClient cc)
{
    X509CertificateRecipientClientCredential rcc = cc.ClientCredentials.ServiceCertificate;
    rcc.SetScopedCertificate("http://fabrikam.com/sts",
                             StoreLocation.CurrentUser,
                             StoreName.TrustedPeople,
                             new Uri("http://fabrikam.com"));
}

Comentarios

Los valores para storeLocation están incluidos en la enumeración StoreLocation:

  • LocalMachine: el almacén de certificados asignado al equipo local.

  • CurrentUser: el almacén de certificados usado por el usuario actual (valor predeterminado).

Si la aplicación se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente en LocalMachine. Si la aplicación 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

SetScopedCertificate(StoreLocation, StoreName, X509FindType, Object, Uri)

Establece un certificado por ubicación del almacén de certificados, el nombre del almacén de certificados, el tipo de búsqueda de X.509, el valor que se va a buscar y lo almacena en una colección que se va a usar para la dirección URL que establece el ámbito.

public:
 void SetScopedCertificate(System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName, System::Security::Cryptography::X509Certificates::X509FindType findType, System::Object ^ findValue, Uri ^ targetService);
public void SetScopedCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue, Uri targetService);
member this.SetScopedCertificate : System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName * System.Security.Cryptography.X509Certificates.X509FindType * obj * Uri -> unit
Public Sub SetScopedCertificate (storeLocation As StoreLocation, storeName As StoreName, findType As X509FindType, findValue As Object, targetService As Uri)

Parámetros

storeLocation
StoreLocation

La ubicación del almacén de certificados que el servicio utiliza para obtener el certificado del servicio.

storeName
StoreName

Obtiene el nombre del almacén de certificados X.509.

findType
X509FindType

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.

targetService
Uri

La dirección URL que establece el ámbito.

Excepciones

findValue o targetService es null.

Se intentó establecer cuando la credencial es de solo lectura.

Ejemplos

Este código muestra cómo llamar a este método.

public void snippet20(CalculatorClient client)
{
    X509CertificateRecipientClientCredential rcc = client.ClientCredentials.ServiceCertificate;
    rcc.SetScopedCertificate(StoreLocation.CurrentUser,
                             StoreName.TrustedPeople,
                             X509FindType.FindBySubjectName,
                             "FabrikamSTS",
                             new Uri("http://fabrikam.com/sts"));
}
rcc.SetScopedCertificate(StoreLocation.CurrentUser, _
            StoreName.TrustedPeople, _
            X509FindType.FindBySubjectName, _
            "FabrikamSTS", _
            New Uri("http://fabrikam.com/sts"))

Comentarios

Los valores para storeLocation están incluidos en la enumeración StoreLocation:

  • LocalMachine: el almacén de certificados asignado al equipo local.

  • CurrentUser: el almacén de certificados usado por el usuario actual (valor predeterminado).

Si la aplicación se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente en LocalMachine. Si la aplicación 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 ningún certificado o varios certifica que coinciden los criterios que se buscan, se producirá InvalidOperationException.

Se aplica a