1

IISでホストされているWebAPIサービスを呼び出すWebフォームサイトがあります。サイトとWebAPIの両方が同じ物理マシンでホストされています。この同じマシンにx509証明書もあります。

WebAPIでこの証明書を使用してリクエストを認証したいと思います。この証明書を「使用する」クライアントからの要求のみを受け入れるようにします。

私が「使用する」と言うとき、私は次のいずれかを行うことを考えていました。

  1. Request.ClientCertificates.Add(myCert);を使用するには 次に、APIで-リクエストから証明書を取得して検証します。

2.または、これを設定するのが面倒な場合(以下の質問を参照)-リクエストヘッダーのトークン(単一の単語)に署名または暗号化するだけです。次に、APIサービスでトークンを検証または復号化します。

私の質問は-オプション1の場合です。

クライアント証明書についてはよくわかりません。クライアントとサービスを開発しているときに、SSLを設定し、証明書をIISにロードし、IISでデバッグして、これをテスト/デバッグする必要がありますか?または、WebDevを使用してエンドツーエンドの呼び出しをテストできますか?

これを尋ねる理由-WebDevで非常に単純な例を実行しようとしたときに、コレクションクライアント側に証明書を追加しましたが、WebAPIが要求を受信したときに証明書が要求に存在しませんでした。

どうもありがとう。

4

1 に答える 1

1

I am unclear about client certs. When I am developing the client and the service, do I need to set up SSL, load the certificate into IIS and debug in IIS to test/debug this? Or can I test the end to end call just using WebDev?

クライアント証明書を使用するには、SSL(相互認証)を介して接続する必要があります。つまり、サーバー証明書を使用してWebサーバーをセットアップしてから、クライアント要求に添付するクライアント証明書を生成することを意味します。

IISとIISExpressはどちらもSSLをサポートしていますが、VisualStudio開発Webサーバーはサポートしていません。

于 2013-01-03T22:41:04.780 に答える