2

我的 WCF 客户端配置中有这个:

...
<identity>
   <certificate encodedValue="encoded data" />
</identity>
...

我不想使用 App.Config 文件,所以我试图在代码中重新创建它,但是我无法这样做。我尝试将此字符串从 base 64 转换并将其作为 X509Certificate2 类的原始数据传递,如果这样做,我会收到 CryptographicException:“找不到请求的对象”。

我认为这可能是因为格式是 DER,但我不确定是否是这种情况,如果是,我不知道如何将其转换为 DER 格式。

有谁知道我如何用代码加载它?

4

1 回答 1

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/

于 2012-06-28T08:05:22.670 回答