クライアント側の認証とサーバー側の認証の 2Way SSL 認証で動作する RESTful API (WCF を使用) の開発を開始しています。
私が理解しているように、クライアントはクライアント側の証明書によって既に認証されているため、パスワード/ユーザー名は必要ありません。
私の問題は、公開されているメソッドの一部を特定のクライアントのみに制限する必要があることです。
そのため、何らかの形式の承認も必要です。特定の機能を承認されたクライアントに提供される秘密鍵を使用することを考えましたが、このクライアントには、承認に使用できる可能性のあるクライアント側の証明書が既にあることに気付きました。
現在使用されているクライアント側の証明書の名前をプログラムで取得し、証明書名で承認する方法はありますか?
このようなもの:
string clientCertificate = CertificateAuthority.GetCurrentCertificate;
if (Authorize(clientCertificate))
doSomething()