Метод шифрования не работает на одном ПК, но работает на других - PullRequest
0 голосов
/ 25 июня 2018

У меня проблема с тем, что файл, содержащий имена пользователей и пароли, может быть дешифрован на некоторых компьютерах, но не работает на другом.,Все, что было установлено, - это мое приложение и пакет обновления .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 по этой ошибке не помогает.

Я прочитал об этом и нашел, что это сбивает с толку. В документации говорится, что вам нужно создать сертификат безопасности, но я не могу найти никаких инструкций покак это сделатьИ не должен ли он быть создан на одной машине и скопирован на другие?Куда это копируется?Я ничего не могу найти на моем ПК, но расшифровка на моем ПК работает нормально.

Может кто-нибудь указать мне правильное направление?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...