0

Web サービスを呼び出してデータを取得する ASP.NET Web アプリケーションを開発しました。Web サービスにアクセスするには、証明書が必要です。Visual Studio からアプリケーションを起動している間はすべて機能しますが、IIS サーバーでサイトを公開すると機能しません。

それを機能させるためにIISマネージャで行う必要がある設定は何ですか。1 つの .pfx と 2 つの .cer ルート ファイルの 3 つの証明書があります。

4

2 に答える 2

1

Visual Studio から実行すると、資格情報を使用してアプリケーションが実行されます。IIS Express でさえ、資格情報の下で実行されます。

証明書を CurrentUser ストアにインポートした場合は、それをアカウントのストアにインポートしたことになります。ASP.NET ページを IIS に展開すると、デフォルトで DefaultAppPool ユーザー (IIS APPPOOL\DefaultAppPool) の下で実行されます。そのユーザーは別の証明書ストアを持っており、おそらくこれらの証明書を持っていません。

これらの証明書を LocalMachine ストア (mmc のローカル コンピューター ストア) にインポートし、秘密キーにアクセス許可を設定して、DefaultAppPool (または設定した他のプール ユーザー) がこの秘密キーにアクセスできるようにするか、またはこれらの証明書を DefaultAppPool の CurrentUser ストアにインポートします。 (簡単で見栄えの悪い方法) アカウント資格情報を使用するように DefaulAppPool を設定します。

私は個人的に最初のオプションを使用します。

于 2014-04-04T10:34:37.980 に答える