2

Мне нужно реализовать шифрование между приложением C# и микроконтроллером (pic32mx795). Проблема, с которой я сталкиваюсь, создает пару открытых и закрытых ключей. Я использую RSACryptoServiceProvider, но я могу получить только ключевые атрибуты, а не полный открытый ключ.Создание открытых и закрытых пар ключей в C# и сохранение открытого ключа в виде простого текста

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(); 
RSAParameters RSAKeyInfo = RSA.ExportParameters(false); 

Я не могу предоставить микроконтроллеру параметры ключа, так как он принимает только ключ (как байты). Существует библиотека, которая сможет это сделать, но она будет доступна только в ноябре 2012 года (SW300055). Я использую библиотеку SW300052 для выполнения шифрования на микроконтроллере (размер ключа ограничен 256 битами).

Я также пробовал предложение bouncycastle в этой теме (generating keys and showing them in a text box).Это сохраняет ключи в формате PEM. Из того, что я понимаю, ключи сохраняются в формате base64. Я указал, что длина ключа составляет 256 бит но при преобразовании открытого ключа обратно в байты, составляет 62 байт.

byte[] encodedDataAsBytes = Convert.FromBase64String (publicKeyString); 

Я также посмотрел на инструменте Strong Названия компании Microsoft (sn.exe), но минимальный размер ключа он поддерживает составляет 384 бит.

Есть ли способ, которым я могу сгенерировать пару открытого частного ключа и получить открытый ключ в виде обычного текста/байта с помощью C# (или с любым другим л)? Мне просто лучше использовать симметричное шифрование ключей для шифрования ключа сеанса?

ответ

0

Вы можете установить certificate server на окне окна и запросить их напрямую. Вам нужно будет установить службы сертификатов MS. Вы также можете использовать makecert и получить ключ от c#.

Или вы могли бы generate the keypair programmatically.

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

  • Нет связанных вопросов^_^