Требования :
Программа должна корректно обрабатывать исключительные ситуации. Некорректный вывод, отсутствие ресурсов, ошибки при передаче данных. Приложения оформлены в виде и исполняемого файла.
Задача: Зашифровать/ расшифровать введённую пользователем строку ассиметричным RSA ключом, ключи шифрования хранятся в сертификате в системном хранилище сертификатов.
Методические указания:
Для симметричного шифрования использовать
System.Security.Cryptography.AesCryptoServiceProvider или
System.Security.Cryptography.AesManaged.
Для поиска сертификата в хранилище -
System.Security.Cryptography.X509Certificates.X509Store.
Ассиметричное шифрование
System.Security.Cryptography.RSACryptoServiceProvider
Создание само-подписанных сертификатов:
1) Используем утилиту makecert, создаём сертификат и приватный ключ к нему
http://msdn.microsoft.com/ru-ru/library/bfsktky3.aspx>makecert -sv developer.pvk -r -n "CN=Developer" -pe -sky exchange developer.cer
где developer.cer файл сертификата с публичным ключом
developer.pvk- приватный ключ
2) Конвертируем в формат в pfx
>pvk2pfx -pvk developer.pvk -pi 123 -spc developer.cer -pfx developer.pfx -po 123
где “123”- пароль введённый на этапе создания ключей
pvk2pfx находится в папке: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
3) Устанавливаем сертификат с приватным ключом developer.pfx в хранилище сертификатов