2

私のWCFクライアント構成には次のものが含まれています。

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

App.Configファイルを使用する必要がないため、コードでこれを再作成しようとしていますが、再作成できません。この文字列をbase64から変換して、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 に答える