web-dev-qa-db-ja.com

RSAキーコンテナーを開けませんでした。 Windows Server 2008 R2

Windows 2008 R2サーバーに2つ目のasp.netサイトをセットアップしています。 RSAキーコンテナーを使用して、接続文字列を暗号化します。 IDに同じユーザーアカウントを使用するなど、現在のサイトをサポートする既定のアプリケーションプールとすべて同じ設定で新しいアプリケーションプールを作成しました。新しいサイトにアクセスしようとすると、次のエラーが発生します。RSAキーコンテナーを開けませんでした

新しいWebサイトをデフォルトのアプリケーションプールを使用するように変更しても機能します。そこで、管理者のコマンドプロンプトで次のコマンドを使用して、新しいアプリケーションプールのユーザーアカウントにRSAキーコンテナーへのアクセスを許可してみます。

aspnet_regiis -pa "KeyContainerName" "dmz\UserName"

次のエラーが表示されます。RSAキーコンテナーが見つかりませんでした。

次のコマンドを実行して、キーコンテナーをインストールします。

aspnet_regiis -pi "KeyContainerName" "c:\ keys.xml"

次のエラーが表示されます:オブジェクトは既に存在します

次のコマンドを実行して、キーコンテナーを削除します。

aspnet_regiis -pz "KeyContainerName"

次のエラーが表示されます:RSAキーコンテナーが見つかりませんでした。失敗!

だから私は完全に困惑します、1つのコマンドがそれが既に存在することを教えてくれます。 1つのアプリプールで機能しますが、まったく同じIDを使用する新しいアプリプールでは機能しませんか?他の12台のサーバーでまったく同じ設定を行いましたが、すべて正常に機能しました。

7
Blegger

「他の12台のサーバーでも同じことを行いましたが、うまくいきました。」

上手:

サーバーのイメージを再作成するか、再起動してください。この初期の段階でも、このサーバーとは明らかに異なる点があります。

すべてのサーバーでまったく同じことを行っている(偶然、なぜスクリプト化されていないのですか?)そして、それらはすべて同じように動作し、すべて同じように構成されているがこれはどういうわけか異なる、事態はここから悪化するだけです。

2
TristanK

これと同じ問題クローンサーバー上がありましたが、Paulのソリューションを機能させることができませんでした。代わりに、コンピューターでファイルmachineKeysを検索し、...\Crypto\RSA \フォルダーからファイルを削除しました。

これを実行した後、RSAキーコンテナーを再作成することができました。これにより、削除したmachineKeysファイルが再作成されました。

1
Off The Gold

確認するか、aspnet_regiis.exeへの完全パスを使用してみてください。ご存知かもしれませんが、これは32ビットバージョンまたは64ビットバージョンのいずれかです。例えば。:

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pa "KeyContainerName" "domain\user"  
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pa "KeyContainerName" "domain\user"  

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -pa "KeyContainerName" "domain\user"  
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pa "KeyContainerName" "domain\user"  

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  
1
Greg Askew