2011-12-01 53 views
12

Web設定の特定の部分を暗号化する必要があります。いくつかのチュートリアルを読んだ後、私はASPNET_REGIISというツールを使って行くことを学びました。 これは私が現時点でしようとしていますものです: コマンドプロンプトASPNET_REGIISを使用してWeb設定を暗号化する

ASPNET_REGIIS -pef "identity" "D:\IIS\admin.mySite.com" 

から「構成セクション 『のSystem.Web \アイデンティティ』は見つかりませんでした。」


ASPNET_REGIIS -pef "system.web\identity" "D:\IIS\admin.mySite.com" 

"構成セクション 'のSystem.Web \アイデンティティ' が見つかりませんでした。"


ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com" 

は「『RsaProtectedConfigurationProvider』エラーメッセージがプロバイダからプロバイダを使用してセクション 『のsystem.web /アイデンティティ』を暗号化するために失敗しました:オブジェクトが既に存在します。」


試してみて、何かを取得していますかどうかを確認するには、右の私は、次の試してみました:

ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com" 

「セクション 『のconnectionStrings』を使用して、プロバイダのプロバイダから 『RsaProtectedConfigurationProvider』エラーメッセージの暗号化に失敗しました:オブジェクトは既に存在します。


ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com" 

「セクション 『のconnectionStrings』を使用して、プロバイダのプロバイダから 『RsaProtectedConfigurationProvider』エラーメッセージの暗号化に失敗しました:オブジェクトが既に存在します」


ASPNET_REGIIS -pef "DoesNotExist" "D:\IIS\admin.mySite.com" 

"構成セクション 'のDoesNotExist' が見つかりませんでした。"


ヘルプ!あなたが暗号化しようとしているセクションは、あなたがそれに完全なパスを指定する必要がありconfiguration要素の直下ではない場合

ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com" 

+1

私はキーがここに格納されると信じています: 'C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys'その場合は、それを削除し、 'connectionStrings'を使って暗号化を実行して、動作するかどうかを確認してください。 Windows 7の場合 – Sam

+1

以降、それは彼らが 'Cここに格納されているように見えます:\はProgramData \マイクロソフト\暗号化\ RSA \ MachineKeys' – dana

答えて

5

はこれを試してみてください。

+0

それはあなたが言ったように、このように、次のとおりです。 しかし、まだメッセージを取得イムセクションが見つからないことを確認します。私は正しいパスであることを確認するためにファイルを右クリックしてパスを取得しました。 <身元偽装= "true" をuserNameに= "ドメイン\ユーザー" パスワード= "123ABC"> Lautaro

+0

@Lautaro - 私はバックスラッシュで間違いとして作られたかもしれない - の代わりに '' /を使用してみてください。 – Oded

+0

私はそれを実験として他のものを試しました。だから、フォワードスラッシュが行く方法だったようだ。私はまた、Web設定ファイルが見つかったようです。だから私は間違っていることを理解していない。これを手伝ってくれてありがとう。 – Lautaro

3

aspnet_regiisがRSAキーコンテナを読み取れないユーザーとして実行されているときに、「オブジェクトが見つかりません」というエラーメッセージが表示されます。

キーは、「C:¥Documents and Settings¥All Users¥Application Data¥Microsoft¥Crypto¥RSA¥MachineKeys」に保持されています。デフォルトのキーコンテナの名前は "NetFrameworkConfigurationKey"です。このキーコンテナに対する読み取り権限があることを確認してください。

あなたのアプリが実行されるIDに読み取りアクセスを許可する必要があることに注意してください。これを行う最も簡単な方法は、aspnet_regiisツールを使用することです:aspnet_regiis -pa "NetFrameworkConfigurationKey" "Yourdomain \ username"。

29

私は同様の問題がありました。昇格した権限(「管理者として実行」)でコマンドプロンプトから実行しようとすると、問題が解決しました。

0

私はこの記事でとてもうれしいと私は、接続文字列を暗号化するためにもASPNET_REGIISツールを使用して、それを復号化する方法をどのように確認したいと思います:

暗号化の場合:

aspnet_regiis.exe -pef "connectionStrings" "D:\ProjectAcc" 

について復号化:

aspnet_regiis.exe -pdf "connectionStrings" "D:\ProjectAcc" 

NB:

    私はいくつかの問題を発見し、この操作をやっているとき
  • 私はそれを通知したいと思います:

1)最初に提出された暗号化の操作は、私が実行してIISにASP.NETランタイムをインストールしていなかったので、次のコマンドのように:

C:\ WINDOWS \ Microsoft.NET \ Frameworkの\ v4.0.30319 \ Aspnet_regiis.exeに-i

2)私は、私は別の愚かな1つを得た最初の問題に取り組んでいました:)、私はそれをインストールするたびにこのエラーが表示されます:

エラーが発生しました:0x8007b799 このツールを実行するには、このコンピュータの管理者権限が必要です。

解決方法:UACをオフにすると、この問題が解決されます。 [スタート]メニューから[コントロールパネル]> [システムとセキュリティ]> [アクションセンター]> [UACレベルを選択] - これを[通知しない]に設定します(再起動が必要です)。

ありがとうございました。私は助けてくれることを願っています。 Aspnet_regiis.exeに-pef "のconnectionStringsを" "C:管理者として

+0

管理者モードでコマンドプロンプトを起動し、上記の手順に進みます。 – Sam

3

の1-実行cmdが 2-

3は-するために暗号化Aspnet_regiis.exeにコマンドラインフォルダに移動します.. \ YourApplication" -prov 「DataProtectionConfigurationProvider

4-するには復号化: Aspnet_regiis.exeに-pdf "のconnectionStrings" "C:を.. \ YourApplication"

0

私はaspnet_regiis.exe -pef "connectionStrings" "C:..\YourApplication"をテストし、管理者として実行しない場合は、それが電子を持っていますrror "オブジェクトはすでに存在しています"。管理者として実行すると動作します。

関連する問題