我的WCF客户端配置中包含以下内容:
...
<identity>
<certificate encodedValue="encoded data" />
</identity>
...
我不想使用App.Config文件,所以我试图在代码中重新创建它,但是我无法这样做。我已经尝试从base 64转换此字符串并将其作为X509Certificate2类的原始数据传递,如果我这样做,我会收到CryptographicException:“找不到请求的对象”。
我认为这可能是因为格式是DER,但我不确定是否是这种情况,如果是,我不知道如何将其转换为DER格式。
有谁知道如何用代码加载它?
答案 0 :(得分:2)
在创建EndpointAddress时使用和EndpointIdentity尝试这样的事情:
X509Certificate2 certificate = X509Certificate2.CreateFromCertFile("r certificate file goes here") as X509Certificate2;
EndpointAddress endpointAddress = new EndpointAddress(new URI("Your service URI goes here"), EndpointIdentity.CreateX509CertificateIdentity(certificate));
上述示例的来源是:http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/c343c266-850e-4eec-9e6f-a42b9659527c/