Web サービスを呼び出してデータを取得する ASP.NET Web アプリケーションを開発しました。Web サービスにアクセスするには、証明書が必要です。Visual Studio からアプリケーションを起動している間はすべて機能しますが、IIS サーバーでサイトを公開すると機能しません。
それを機能させるためにIISマネージャで行う必要がある設定は何ですか。1 つの .pfx と 2 つの .cer ルート ファイルの 3 つの証明書があります。
Web サービスを呼び出してデータを取得する ASP.NET Web アプリケーションを開発しました。Web サービスにアクセスするには、証明書が必要です。Visual Studio からアプリケーションを起動している間はすべて機能しますが、IIS サーバーでサイトを公開すると機能しません。
それを機能させるためにIISマネージャで行う必要がある設定は何ですか。1 つの .pfx と 2 つの .cer ルート ファイルの 3 つの証明書があります。
Visual Studio から実行すると、資格情報を使用してアプリケーションが実行されます。IIS Express でさえ、資格情報の下で実行されます。
証明書を CurrentUser ストアにインポートした場合は、それをアカウントのストアにインポートしたことになります。ASP.NET ページを IIS に展開すると、デフォルトで DefaultAppPool ユーザー (IIS APPPOOL\DefaultAppPool) の下で実行されます。そのユーザーは別の証明書ストアを持っており、おそらくこれらの証明書を持っていません。
これらの証明書を LocalMachine ストア (mmc のローカル コンピューター ストア) にインポートし、秘密キーにアクセス許可を設定して、DefaultAppPool (または設定した他のプール ユーザー) がこの秘密キーにアクセスできるようにするか、またはこれらの証明書を DefaultAppPool の CurrentUser ストアにインポートします。 (簡単で見栄えの悪い方法) アカウント資格情報を使用するように DefaulAppPool を設定します。
私は個人的に最初のオプションを使用します。