2016-08-30 3 views
0

Мне нужно создать RSACryptoServiceProvider и его параметры для дешифрования и дешифрования данных.Создание RSACryptoServiceProvider с использованием собственных значений

Но мне нужно снова/дешифровать данные завтра, используя те же клавиши.
Экспортировать и хранить их в файлах было бы просто отлично, но ... нет возможности писать файлы (они не хотят меня). Поэтому я решил создать свой собственный RSACryptoServiceProvider своими собственными ключами и параметрами, которые я извлекаю из системы. У меня есть данные, такие как memoryID, Mac и прочее.

Итак, есть мой вопрос.

Можно ли использовать некоторые пользовательские строки для создания RSACryptoServiceProvider и повторить, что завтра получить тот же ключ?

AFAIK, параметры RSACryptoServiceProvider имеют такие значения, как p, d, n и прочее. Но я также слышал, что им нужны конкретные простые числа.
Буду признателен за любую помощь.

Thanx

ответ

0

Не уверен, что если вы делаете это в C#, но вы можете сделать это, если у вас есть PFX файл:

var certBytes = System.IO.File.ReadAllBytes(@"path\to\certificate.pfx"); 
var privateAndPublicKeyCert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certBytes, "password"); 
// pfx files that have a private key should be protected by a password 
var privateKeyCSP = (System.Security.Cryptography.RSACryptoServiceProvider)privateAndPublicKeyCert.PrivateKey; 

Obviusly вы должны заботиться о аспекты безопасности. например не печатать пароль вот так.

У вас будет два ChryptoServiceProvider, инициализированные значениями, хранящимися в файле ...

Смежные вопросы