X509CertificateRecipientClientCredential.SetScopedCertificate 方法

定义

从存储区设置一个证书,并将其储存到按设置范围的 URL 编制索引的集合中。

重载

SetScopedCertificate(String, StoreLocation, StoreName, Uri)

通过主题名称、证书存储区位置和证书存储区名称设置一个证书,并将其储存到用于设置范围的 URL 的集合中。

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

通过证书存储区位置、证书存储区名称、X.509 搜索的类型以及要搜索的值设置一个证书,并将其储存到用于设置范围的 URL 的集合中。

SetScopedCertificate(String, StoreLocation, StoreName, Uri)

通过主题名称、证书存储区位置和证书存储区名称设置一个证书,并将其储存到用于设置范围的 URL 的集合中。

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)

参数

subjectName
String

完全限定的主题名称。

storeLocation
StoreLocation

服务用于获取服务证书的证书存储区位置。

storeName
StoreName

要打开的 X.509 证书存储区的名称。

targetService
Uri

设置范围的 URL。

例外

subjectNametargetServicenull

试图在凭据为只读时进行设置。

示例

此代码演示如何调用该方法。

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

注解

storeLocation 的值包含在 StoreLocation 枚举中:

  • LocalMachine:分配给本地计算机的证书存储。

  • CurrentUser:当前用户使用的证书存储 (默认) 。

如果应用程序在系统帐户下运行,则证书通常位于 LocalMachine。 如果应用程序在用户帐户下运行,则证书通常位于 CurrentUser

storeName 的值包含在 StoreName 枚举中。

适用于

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

通过证书存储区位置、证书存储区名称、X.509 搜索的类型以及要搜索的值设置一个证书,并将其储存到用于设置范围的 URL 的集合中。

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)

参数

storeLocation
StoreLocation

服务用于获取服务证书的证书存储区位置。

storeName
StoreName

要打开的 X.509 证书存储区的名称。

findType
X509FindType

要执行的 X.509 搜索的类型。

findValue
Object

要在 X.509 证书存储区中搜索的值。

targetService
Uri

设置范围的 URL。

例外

findValuetargetServicenull

试图在凭据为只读时进行设置。

示例

此代码演示如何调用该方法。

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

注解

storeLocation 的值包含在 StoreLocation 枚举中:

  • LocalMachine:分配给本地计算机的证书存储。

  • CurrentUser:当前用户使用的证书存储 (默认) 。

如果应用程序在系统帐户下运行,则证书通常位于 LocalMachine。 如果应用程序在用户帐户下运行,则证书通常位于 CurrentUser

storeName 的值包含在 StoreName 枚举中。

findType 的值包含在 X509FindType 枚举中。

最常用的枚举是 FindBySubjectName,它在指定存储区中对证书的主题名称执行不区分大小写的搜索。 这可能是不精确的搜索。 如果未找到证书或找到了多个与条件相匹配的证书,则将引发 InvalidOperationException

适用于