Я пытаюсь зашифровать и затем расшифровать файлы с использованием асимметричного шифрования. Я создал тестовый сертификат с помощью makecert и установил его в свой собственный локальный магазин. В будущем мне придется установить этот сертификат на нескольких серверах, поэтому я создал его с флагом «-pe», то есть с помощью экспортируемого закрытого ключа. Сертификаты были успешно созданы и установлены, я вижу примечание «У вас есть закрытый ключ, соответствующий этому сертификату» в mmc.Исключение «плохой ключ» для сертификатов с открытым закрытым ключом
Теперь я пытаюсь зашифровать данные с помощью RSACryptoServiceProvider в .NET 3.5. И это удается. Но когда я пытаюсь расшифровать его, я получаю исключение «Bad key».
Если я создаю сертификат без опции -pe, тот же код хорошо подходит для дешифрования. Вот код:
RSA rsaKey = (RSA)myCertificate.PrivateKey;
RSACryptoServiceProvider rsaCsp = (RSACryptoServiceProvider)rsaKey;
byte[] plainText = rsaCsp.Decrypt(encryptedText, true);
Также я попробовал другой метод, с помощью System.Security.Cryptography.Pkcs имен:
EnvelopedCms envelope = new EnvelopedCms();
envelope.Decode(encryptedText);
envelope.Decrypt();
byte[] plainText = envelope.ContentInfo.Content;
Результат был тот же ... Может кто-нибудь помочь ?
Спасибо, сэр, что мне не хватает – KodeKreachor
Это спасло день .. спасибо за ответ И объяснение. – granadaCoder