Trong ứng dụng cửa sổ của tôi, tôi đang cố gắng để mã hóa chuỗi phần kết nối của app.config file, chuỗi kết nối một phần của file app.config của tôi làKhông thể giải mã bằng cách sử dụng nhà cung cấp 'RsaProtectedConfigurationProvider'?
<connectionStrings>
<add name="SQLiteDB" connectionString="Data Source=|DataDirectory|database.s3db;
Version=3;password=mypassword;" providerName="System.Data.Sqlite"/>
</connectionStrings>
và trong cs nộp tôi đang mã hóa nó như
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);
}
sau khi chạy mã này tôi nhận được chuỗi kết nối được mã hóa trong app.config khác, app.config này nằm trong thư mục bin \ debug và tên của tệp .config này là nameofapplication.exe.config.
Vấn đề là khi tôi đã thiết lập của ứng dụng này và chạy trên máy tính khác nếu cho lỗi rằng:
System.Configuration.ConfigurationErrorsException: Failed to decrypt using provider 'RsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened.
tôi đang làm nó lần đầu tiên do đó, không biết làm thế nào để giải quyết này, stucked nặng trong nó.
FYI, HOẶC có thể về ngay cả khi bạn nhập khẩu những chìa khóa để các máy khác, trong trường hợp của tôi về phép. Khi tôi gỡ lỗi trên VS không thể giải mã nhưng sau khi tôi mở VS với tư cách quản trị viên. Bắt đầu giải mã nó. – enterbutton