W mojej aplikacji Windows próbuję szyfrować połączenia punkt ciąg app.config pliku, część ciąg połączenia mojego pliku app.config jestNie można odszyfrować za pomocą dostawcy "RsaProtectedConfigurationProvider"?
<connectionStrings>
<add name="SQLiteDB" connectionString="Data Source=|DataDirectory|database.s3db;
Version=3;password=mypassword;" providerName="System.Data.Sqlite"/>
</connectionStrings>
aw .cs złożyć jestem szyfrując je jak
Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
ConfigurationSection section = config.GetSection("connectionStrings") as ConnectionStringsSection; // could be any section
if (!section.IsReadOnly())
{
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
po uruchomieniu tego kodu otrzymuję zaszyfrowany ciąg połączenia w innym app.config, plik app.config znajduje się w folderze bin \ debug, a nazwa tego pliku .config to nazwaofapplication.exe.config.
Problemem jest to, kiedy zrobiłem konfigurację tej aplikacji i uruchomić na innym komputerze, jeśli daje błąd, że:
System.Configuration.ConfigurationErrorsException: Failed to decrypt using provider 'RsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened.
robie to pierwszy raz, więc nie wiem, jak rozwiązać ten problem, źle w stucked to.
FYI, lub może być nawet o zaimportowane klucze do innej maszyny, w moim przypadku o pozwolenie. Kiedy debugowanie na VS nie może odszyfrować, ale po otwarciu VS jako administrator. Zacząłem go odszyfrowywać. – enterbutton