У меня проблема с тем, что файл, содержащий имена пользователей и пароли, может быть дешифрован на некоторых компьютерах, но не работает на другом.,Все, что было установлено, - это мое приложение и пакет обновления .net 4.6.2
. Первоначально я не писал этот код, но мне нужно, чтобы он работал на машинах со встроенной Win 7.
Я вижу ошибку:
Ошибка UserManager: Ошибка чтения C: \ CutterBuild \ Data \ Config \ users.xml: System.Security.Cryptography.CryptographicException: ключ не указандопустимо для использования в указанном состоянии.
Соответствующий код:
try
{
xmlDoc.PreserveWhitespace = true;
xmlDoc.Load(inputFilePath);
System.Security.Cryptography.CspParameters cspParams = new System.Security.Cryptography.CspParameters();
cspParams.KeyContainerName = KEY_CONTAINER_NAME;
// Next line is Where the code fails and throws exception!!!!.
System.Security.Cryptography.RSACryptoServiceProvider rsaKey = new System.Security.Cryptography.RSACryptoServiceProvider(cspParams);
EncryptionHelper.Decrypt(xmlDoc, rsaKey, KEY_NAME);
reader = new XmlNodeReader(xmlDoc);
collection = Read(reader, out errorMessage);
}
Я провел некоторую отладку, и все выглядит хорошо, вплоть до ключевой точки rsa.Документация Microsoft по этой ошибке не помогает.
Я прочитал об этом и нашел, что это сбивает с толку. В документации говорится, что вам нужно создать сертификат безопасности, но я не могу найти никаких инструкций покак это сделатьИ не должен ли он быть создан на одной машине и скопирован на другие?Куда это копируется?Я ничего не могу найти на моем ПК, но расшифровка на моем ПК работает нормально.
Может кто-нибудь указать мне правильное направление?