Le chiffrement / Déchiffrement de l'application.sections de configuration à l'aide de RsaProtectedConfigurationProvider

Lors de l'installation de notre programme, nous exécuter cette méthode pour encrpyt les sections de l'application.config:

//Get the application configuration file.
Configuration config =
      ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

//Define the Rsa provider name.
const string provider = "RsaProtectedConfigurationProvider";

//Get the section to protect.
ConfigurationSection connStrings = config.ConnectionStrings;

if (connStrings != null)
{
    if (!connStrings.SectionInformation.IsProtected)
    {
        if (!connStrings.ElementInformation.IsLocked)
        {
            //Protect the section.
            connStrings.SectionInformation.ProtectSection(provider);

            connStrings.SectionInformation.ForceSave = true;
            config.Save(ConfigurationSaveMode.Full);
        }
    }
}

Fonctionne très bien jusqu'à présent. Mais si j'exécute ce programme, on rencontre de plusieurs machines d'erreur suivant "impossible de déchiffrer à l'aide du fournisseur RsaProtectedConfigurationProvider'. Message d'erreur de la part du fournisseur: Le conteneur de clé RSA n'a pas pu être ouvert".

Bien sûr j'ai cherché et trouvé cette aide, mais cela ne fonctionne pas. Des idées?

Qu'est-ce que le système d'exploitation sur l'échec des machines? Peut-être il pourrait être l'UAC+Élévation problème. Toutes les informations sur les machines serait bon.
Peut-être une bonne direction à suivre. Actuellement connues sont Vista, W7 et Server 2008.

OriginalL'auteur Jan | 2010-11-23