Как получить из RSACryptoServiceProvider (RSAParameters) ключ ввиде наборов байтов
Как получить из RSACryptoServiceProvider (RSAParameters) ключ ввиде наборов байтов.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
byte[] data = null;
byte[] privKey;
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(512);
privKey = rsa.ExportParameters(true).Modulus;
data = rsa.Encrypt(Encoding.ASCII.GetBytes("Hi"), false);
}
{
var rsa = new RSACryptoServiceProvider(512);
var t = rsa.ExportParameters(true);
t.Modulus = privKey;
rsa.ImportParameters(t);
var newD = rsa.Decrypt(data, false); // Not Working
}
}
}
}
В этом коде у меня на строке с rsa.Decrypt вылетает исключение: System.Security.Cryptography.CryptographicException: "Присоединенное к системе устройство не работает. "
Ответы (1 шт):
Автор решения: МММ
→ Ссылка
Оказываеться для того чтоб передать приватный ключ нужно из RSAParameters:
- Modulus
- D
- P
- Q
- DP
- DQ
- Exponent