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