サーバーにアクセスできないので、コードを使ってweb.configのセクションを暗号化するコマンドを実行する必要があります。これを行うには、シンプルなWebページを作成し、ページの読み込み時またはボタンのクリック時に実行します。以下は実行する必要のあるコードブロックです。マイクロソフト(http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.protectsection.aspx)から入手したソースからわずかに変更されています。しかし、...このコードは実際に私のために働いていませんでした。コードが正しくないのではなく、自分のアカウントにRsaキーストアの権限がないため、結果が異なる場合があります。これはそのオプション2.
' Get the current configuration file.'
Dim config As System.Configuration.Configuration = Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Nothing)
' Get the section.'
Dim section As AppSettingsSection = CType(config.GetSection("appSettings"), AppSettingsSection)
' Protect (encrypt) the section.'
section.SectionInformation.ProtectSection("RSAProtectedConfigurationProvider")
' Save the encrypted section.'
section.SectionInformation.ForceSave = True
config.Save(ConfigurationSaveMode.Full)
信用のために読んで動作しない場合:私はNeed Encrypted connection string and stmp information in the web.configを経由して、コードとそのリンクを発見しました。
オプション2:セキュリティ上の理由から、まだマシンキーを使用したいので、誰かがweb.configファイルをダウンロードして管理しても、設定を復号化することはできません。これを行う1つの方法は、手動でマシンキーを使用してすべての設定を暗号化し、使用するたびに暗号化を解除するか、アプリ起動時にキャッシュに保存することです。暗号化に
、あなたは、このようなコードを使用することができ、アプリキー値復号化:あなたは、アプリケーションが安全でない位置にキーを離れることなく、パスワードを使用することができますようにキーを保存するにはどうすればよい
Dim encryptedString As String = Convert.ToBase64String(ProtectedData.Protect(System.Text.UTF8Encoding.UTF32.GetBytes("Testing"), Nothing, DataProtectionScope.LocalMachine))
Dim decryptedString As String = System.Text.UTF8Encoding.UTF32.GetString(ProtectedData.Unprotect(Convert.FromBase64String(encryptedString), Nothing, DataProtectionScope.LocalMachine))
Response.Write(encryptedString + " - " + decryptedString)
を? – Tyrsius
これにはいくつかのオプションがあります。web.config(MachineKey)にあるキーを使用するか、独自のキーを作成して暗号化されたweb.configオプションに入れることができます。 –
@Tyrsius - 私はあなたにいくつかの考えを与えるためにいくつかの詳細とオプションを加えました。 –