IISでホストされているWebAPIサービスを呼び出すWebフォームサイトがあります。サイトとWebAPIの両方が同じ物理マシンでホストされています。この同じマシンにx509証明書もあります。
WebAPIでこの証明書を使用してリクエストを認証したいと思います。この証明書を「使用する」クライアントからの要求のみを受け入れるようにします。
私が「使用する」と言うとき、私は次のいずれかを行うことを考えていました。
- Request.ClientCertificates.Add(myCert);を使用するには 次に、APIで-リクエストから証明書を取得して検証します。
2.または、これを設定するのが面倒な場合(以下の質問を参照)-リクエストヘッダーのトークン(単一の単語)に署名または暗号化するだけです。次に、APIサービスでトークンを検証または復号化します。
私の質問は-オプション1の場合です。
クライアント証明書についてはよくわかりません。クライアントとサービスを開発しているときに、SSLを設定し、証明書をIISにロードし、IISでデバッグして、これをテスト/デバッグする必要がありますか?または、WebDevを使用してエンドツーエンドの呼び出しをテストできますか?
これを尋ねる理由-WebDevで非常に単純な例を実行しようとしたときに、コレクションクライアント側に証明書を追加しましたが、WebAPIが要求を受信したときに証明書が要求に存在しませんでした。
どうもありがとう。