2016-11-16 55 views
0

私はこのサンプルをテストベッドとして使用しています。 IdentityServer3.Samples/source/MembershipReboot/IIS 10 System.Security.Cryptography.CryptographicException:アクセスが拒否されました

私は正しいアクセス権を割り当ててこの問題に関するいくつかの他の投稿を読んだが、まだアクセスが拒否されています。

私のIISアプリケーションは、applicationpoolidentityで動作しています。

答えて

1

エクスプレスの代わりにIISローカルを使用して、セキュリティをより詳細に制御することをお勧めします。

  1. 現在のユーザーの個人用ディレクトリに証明書をインストールしてください。 (Help
  2. 専用アプリケーションプールをIdSrv3仮想アプリケーションまたはWebサイトに割り当てます。 (Help
  3. ユーザーを専用アプリケーションプールのIDとして割り当てます。 (Help

IISを実行するユーザーには、配置した証明書ストアの読み取り権限が必要です。 ApplicationPoolIdentityにはこの権限がありません。

0

ソリューションに焦点を当てます。

最初にマシンキーフォルダの代わりにコードからユーザーキーセットに証明書を追加しました。

var certificate = new X509Certificate2(objApiCertficate.CertificateData、this.strApiPassword、X509KeyStorageFlags.UserKeySet); certHandler.ClientCertificates.Add(証明書);

次に、アプリケーションプールにユーザープロファイルを読み込む必要があります。 これをテストする前にIISを再起動してください。

私は自分のブログにいくつかのスクリーンショットをアップロードしました。

https://guntucomputerhacks.blogspot.com.au/2017/08/systemsecuritycryptographycryptographic.html

関連する問題