Пересылка открытого ключа для подтверждения цифровой подписи - C#

Узнай цену своей работы

Формулировка задачи:

Одна программа ставит цифровую подпись и записывает открытый ключ в файл:
Листинг программы
  1. //...
  2. public class DigitalSignatureHelper
  3. {
  4. public byte[] CreateSignature(byte[] hash)
  5. {
  6. RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
  7. RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
  8. RSAFormatter.SetHashAlgorithm("MD5");
  9. string pablickey = RSA.ToXmlString(false);
  10. File.WriteAllText("D:\\pas.xml", pablickey, Encoding.UTF8);
  11. return RSAFormatter.CreateSignature(hash);
  12. }
  13. //...
А вторая должна считать этот ключ и подтвердить подпись:
Листинг программы
  1. //...
  2. public class DigitalSignatureHelper
  3. {
  4. public bool VerifySignature(byte[] hash, byte[] signedhash)
  5. {
  6. RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
  7. RSA.FromXmlString("D:\\pas.xml");
  8. RSAPKCS1SignatureDeformatter RSADeformatter = new RSAPKCS1SignatureDeformatter(RSA);
  9. RSADeformatter.SetHashAlgorithm("MD5");
  10. return RSADeformatter.VerifySignature(hash, signedhash);
  11. }
  12. //...
Только что-то я делаю нетак... может кто подскажет как тот ключ из Xml записать в:
Листинг программы
  1. private RSAParameters m_public;
что бы потом извлеч из него информацыю таким образом:
Листинг программы
  1. RSAParameters RSAKeyInfo = new RSAParameters();
  2. RSAKeyInfo.Modulus = m_public.Modulus;
  3. RSAKeyInfo.Exponent = m_public.Exponent;
  4. RSA.ImportParameters(RSAKeyInfo);
Потому что когда делал в одной программе именно такая схема работала, а теперь вот нужна пересылка ключа.

Решение задачи: «Пересылка открытого ключа для подтверждения цифровой подписи»

textual
Листинг программы
  1. RSA.FromXmlString(File.ReadAllText("D:\\pas.xml"));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы