X509CertificateRecipientClientCredential.SetDefaultCertificate 方法

定义

指定用于服务的默认证书。

重载

SetDefaultCertificate(String, StoreLocation, StoreName)

指定用于服务的默认证书。 对于使用基于证书的消息安全的绑定,此证书用于加密发送给服务的消息,并期望服务用它来对客户端的应答进行签名。

SetDefaultCertificate(StoreLocation, StoreName, X509FindType, Object)

指定用于服务的默认证书。 对于使用基于证书的消息安全的绑定,此证书用于加密发送给服务的消息,并期望服务用它来对客户端的应答进行签名。

注解

这些方法从与指定参数相匹配的指定位置中的存储区获取证书。

对于使用基于证书的消息安全的绑定,此证书用于加密发送给服务的消息,并期望服务用它来对客户端的应答进行签名。

SetDefaultCertificate(String, StoreLocation, StoreName)

Source:
X509CertificateRecipientClientCredential.cs
Source:
X509CertificateRecipientClientCredential.cs

指定用于服务的默认证书。 对于使用基于证书的消息安全的绑定,此证书用于加密发送给服务的消息,并期望服务用它来对客户端的应答进行签名。

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

参数

subjectName
String

该主题可分辨名称。

storeLocation
StoreLocation

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

storeName
StoreName

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

例外

subjectNamenull

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

示例

下面的代码使用此方法指定要使用的 X.509 证书。

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

注解

此方法从与 subjectName 参数相匹配的指定位置中的存储区获取证书。

storeLocation 的值包含在 StoreLocation 枚举中:

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

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

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

storeName 的值包含在 StoreName 枚举中。

适用于

SetDefaultCertificate(StoreLocation, StoreName, X509FindType, Object)

Source:
X509CertificateRecipientClientCredential.cs
Source:
X509CertificateRecipientClientCredential.cs

指定用于服务的默认证书。 对于使用基于证书的消息安全的绑定,此证书用于加密发送给服务的消息,并期望服务用它来对客户端的应答进行签名。

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

参数

storeLocation
StoreLocation

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

storeName
StoreName

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

findType
X509FindType

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

findValue
Object

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

例外

findValuenull

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

示例

下面的代码使用此方法指定要使用的 X.509 证书。

public void snippet22(CalculatorClient cc)
{
    X509CertificateRecipientClientCredential rcc = cc.ClientCredentials.ServiceCertificate;
    rcc.SetDefaultCertificate(StoreLocation.CurrentUser,
                             StoreName.TrustedPeople,
                             X509FindType.FindBySubjectName,
                             "FabrikamSTS");
}

注解

此方法从与 findTypefindValue 参数相匹配的指定位置中的存储区获取证书。

storeLocation 的值包含在 StoreLocation 枚举中:

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

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

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

storeName 的值包含在 StoreName 枚举中。

findType 的值包含在 X509FindType 枚举中。

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

适用于