Silverlight 対応の WCF サービスを使用して他の Web サービスやデータベースからデータを取得する Silverlight Web アプリケーションがあります。前の例では、エンド ユーザーはユーザー名とパスワードを TextBoxes に書き込んでボタンをクリックすることで、Web サイトにサインインしていました。現在、エンド ユーザーはカードとカード リーダーを持っています。Web サイトに入った後、認証プロンプトが表示される必要があります。そのため、Web サービスを変更し、HTTPS を使用しています。また、IIS で Web サイトの SSL 設定を Require に設定しました。もちろん、Web サイトの証明書も作成し、バインディングの証明書をそれに設定しました。すべてが正常に動作するようになりました。Web サイトと Web サービスは HTTPS で開いています。また、Web サイトにアクセスするたびに認証プロンプトが表示されます。すべての証明書がリストに表示された後、ユーザーはそれらのいずれかを選択する必要があります。
HTTPS を使用するように Web サービスを構成するためのこの記事を読みました。
ASP.NET では、次のような証明書を取得しています。
X509Certificate2 cert = new X509Certificate2(Request.ClientCertificate.Certificate);
string subject = Request.ClientCertificate.Subject;
if (!Request.ClientCertificate.IsValid || Request.ClientCertificate.Count == 0)
{
// failed
}
else
{
Session["isRegistered"] = true;
// success
}
しかし、Web サービスを使用してリクエストから証明書を取得する方法がわかりません。ありがとう。