加载证书以使用WCF在C#中签署SOAP信封

时间:2015-05-27 12:44:52

标签: c# wcf soap

我尝试加载x509证书以在WCF客户端中使用。为此,我使用ng-init函数,但此函数抛出异常。

SetDefaultCertificate

例外:

  

使用以下搜索条件找不到X.509证书:
  StoreName'My',StoreLocation'CurrentUser',FindType
  'FindBySubjectKeyIdentifier',FindValue
  '79852b4fab95e8cd1f6e36167bbb895bd4cbe767'。

但如果我这样做......

var clientWS = new WS_eFacturaSoapPortClient();
clientWS.ClientCredentials.ServiceCertificate.SetDefaultCertificate(
    StoreLocation.CurrentUser, StoreName.My, 
    X509FindType.FindBySubjectKeyIdentifier, "79852b4fab95e8cd1f6e36167bbb895bd4cbe767");

证书成立。

我做错了什么?,是否可以将x509Certificate2添加到ClientCredentials?

1 个答案:

答案 0 :(得分:0)

我将FindType更改为FindBySerialNumber并且有效。

clientWS.ClientCredentials.ServiceCertificate.SetDefaultCertificate(
    StoreLocation.CurrentUser, StoreName.My, 
    X509FindType.FindBySerialNumber, "0cf43655217b8853e2df0b931d2c352afa93d9");

this post帮助了我。