私は多くの読書をして、WPF App.Configファイルのセクションを暗号化しようとしています。私はデフォルトのセクションではなく、カスタムセクションを使用しています。私はユーザーが.configファイルを指定し、キーを更新するためにこのファイルを読み込むアプリケーションを持っています。App.Configセクションを暗号化して複数のマシンに展開する
var configMap = new ExeConfigurationFileMap { ExeConfigFilename = this.FileName };
var config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
var configSection = config.GetSection(Section);
if (!configSection.SectionInformation.IsProtected)
if (!configSection.ElementInformation.IsLocked)
{
configSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
configSection.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
および復号化するために:私は、次のコードを使用しています私のファイルのセクションを復号化し、暗号化するために
var configMap = new ExeConfigurationFileMap { ExeConfigFilename = this.FileName };
var config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
var configSection = config.GetSection(Section);
if (configSection.SectionInformation.IsProtected)
{
configSection.SectionInformation.UnprotectSection();
configSection.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
私が直面しています、問題があれば、私はファイルを持っているということですマシンAで暗号化されたファイルをマシンBに置くと、マシンAで暗号化が行われたため、.configファイルを復号化できません。
キーコンテナ(link)と(link)を作成してエクスポートするためにaspnet_regiisを使用することをお勧めするいくつかの記事がありますが、多分私は何か間違っています。私の推測は、ファイルを暗号化したり、ファイルを解読するためにaspnet_regiisを使用していないため、私は固まってしまいます。 aspnet_regiisツールとコマンドラインを使用せずにこれを行う方法はありますか?
周囲の多くの情報は、web.configとapp.configの関係になります。ここでも、これはMVVMを使用するC#/ WPFアプリケーション用です。
カスタム暗号化(カスタムデータプロバイダ)も見ていましたが、私が見たすべての例はweb.config(link)です。