3

クライアントがx509証明書を使用して認証する必要があるサーバーでWCFサービスをホストしています。含まれているデータはビジネスロジックの一部であるため、サービス内でこの証明書を読み取る必要があります。

WCFサービスに使用するバインディングは、セキュリティが「Transport」およびclientCredentialType="certificate"に設定されたwebHttpBindingです。

ASP.netではHttpContext.Currentを使用できますが、WCFでは使用できません。ユーザーから証明書を取得するにはどうすればよいですか?

よろしく、アロイス

4

2 に答える 2

1

ASP.net 互換性を無効にして、WCF サービスでこれを使用します。

var x509ClaimSet = OperationContext.Current.ServiceSecurityContext.AuthorizationContext.ClaimSets.FirstOrDefault() as X509CertificateClaimSet;
于 2013-03-07T10:24:07.717 に答える
1

http://blogs.msdn.com/b/wenlong/archive/2006/01/23/516041.aspxの記事は、この問題の解決策を提供してくれました。WCF では、完全な HttpContext オブジェクトを戻す "ASP.net 互換モード" で実行できます。

于 2011-03-18T18:35:32.653 に答える