X509CertificateRecipientClientCredential.SetScopedCertificate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从存储区设置一个证书,并将其储存到按设置范围的 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。
例外
subjectName
或 targetService
为 null
。
试图在凭据为只读时进行设置。
示例
此代码演示如何调用该方法。
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。
例外
findValue
或 targetService
为 null
。
试图在凭据为只读时进行设置。
示例
此代码演示如何调用该方法。
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。