Share via


X509CertificateRecipientClientCredential.SetScopedCertificate Methode

Definition

Legt ein Zertifikat aus einem Speicher fest und speichert es in einer von der URL indizierten Auflistung, die den Gültigkeitsbereich festlegt.

Überlädt

SetScopedCertificate(String, StoreLocation, StoreName, Uri)

Legt ein Zertifikat anhand des Betreffnamens, Zertifikatsspeichers und Zertifikatsspeichernamens fest und speichert es in einer Auflistung, die für die URL verwendet wird, die den Gültigkeitsbereich festlegt.

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

Legt ein Zertifikat anhand des Zertifikatsspeichers, Zertifikatsspeichernamens, Typ der X.509-Suche und des zu suchenden Werts fest und speichert es in einer Auflistung, die für die URL verwendet wird, die den Gültigkeitsbereich festlegt.

SetScopedCertificate(String, StoreLocation, StoreName, Uri)

Legt ein Zertifikat anhand des Betreffnamens, Zertifikatsspeichers und Zertifikatsspeichernamens fest und speichert es in einer Auflistung, die für die URL verwendet wird, die den Gültigkeitsbereich festlegt.

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)

Parameter

subjectName
String

Der vollqualifizierte Betreffname.

storeLocation
StoreLocation

Der Speicherort des Zertifikatsspeichers, den der Dienst zum Abrufen des Dienstzertifikats verwendet.

storeName
StoreName

Der Name des X.509-Zertifikatsspeichers, der geöffnet werden soll.

targetService
Uri

Die URL, die den Bereich festlegt.

Ausnahmen

subjectName oder targetService ist null.

Dies wurde versucht festzulegen, obwohl die Anmeldeinformationen schreibgeschützt sind.

Beispiele

Dieser Code zeigt, wie diese Methode aufgerufen wird.

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"));
}

Hinweise

Werte für storeLocation sind in der StoreLocation-Enumeration enthalten:

  • LocalMachine: der Zertifikatspeicher, der dem lokalen Computer zugewiesen ist.

  • CurrentUser: der zertifikatspeicher, der vom aktuellen Benutzer (Standard) verwendet wird.

Wenn die Anwendung über ein Systemkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in LocalMachine. Wenn die Anwendung über ein Benutzerkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in CurrentUser.

Werte für storeName sind in der StoreName-Enumeration enthalten.

Gilt für

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

Legt ein Zertifikat anhand des Zertifikatsspeichers, Zertifikatsspeichernamens, Typ der X.509-Suche und des zu suchenden Werts fest und speichert es in einer Auflistung, die für die URL verwendet wird, die den Gültigkeitsbereich festlegt.

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)

Parameter

storeLocation
StoreLocation

Der Speicherort des Zertifikatsspeichers, den der Dienst zum Abrufen des Dienstzertifikats verwendet.

storeName
StoreName

Der Name des X.509-Zertifikatsspeichers, der geöffnet werden soll.

findType
X509FindType

Der Typ der X.509-Suche, der ausgeführt werden soll.

findValue
Object

Der Wert, nach dem im X.509-Zertifikatspeicher gesucht werden soll.

targetService
Uri

Die URL, die den Bereich festlegt.

Ausnahmen

findValue oder targetService ist null.

Dies wurde versucht festzulegen, obwohl die Anmeldeinformationen schreibgeschützt sind.

Beispiele

Dieser Code zeigt, wie diese Methode aufgerufen wird.

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"))

Hinweise

Werte für storeLocation sind in der StoreLocation-Enumeration enthalten:

  • LocalMachine: der Zertifikatspeicher, der dem lokalen Computer zugewiesen ist.

  • CurrentUser: der zertifikatspeicher, der vom aktuellen Benutzer (Standard) verwendet wird.

Wenn die Anwendung über ein Systemkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in LocalMachine. Wenn die Anwendung über ein Benutzerkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in CurrentUser.

Werte für storeName sind in der StoreName-Enumeration enthalten.

Werte für findType sind in der X509FindType-Enumeration enthalten.

Die am häufigsten verwendete Enumeration ist FindBySubjectName, die eine Suche in den Betreffnamen der Zertifikate im angegebenen Speicher durchführt, wobei zwischen Groß- und Kleinschreibung unterschieden wird. Dies kann eine ungenaue Suche sein. Wenn keine Zertifikate oder mehrere Zertifikate gefunden werden, die mit den Kriterien übereinstimmen, wird eine InvalidOperationException ausgegeben.

Gilt für