Переношу проект из net.4.5 в net.core. Код net.4.5:
String RsaKey = "<RSAKeyValue><Modulus>vSf...EuQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
RSACryptoServiceProvider RSA = new
System.Security.Cryptography.RSACryptoServiceProvider();
RSA.FromXmlString(RsaKey);
//Проверяем подпись
Boolean Res = RSA.VerifyHash(Hash, "MD5", Sign);
Код net.core:
RSACryptoServiceProvider RSA = new
System.Security.Cryptography.RSACryptoServiceProvider();
RSAParameters parameters = new RSAParameters();
parameters.Modulus = Convert.FromBase64String("vSf...EuQ==");
parameters.Exponent = Convert.FromBase64String("AQAB");
RSA.ImportParameters(parameters)
//Проверяем подпись
Boolean Res = RSA.VerifyHash(Hash, "MD5", Sign);
В коде для net.core только загрузка ключа немного другое - нет процедуры загрузки ключа из XML. Но код из net.core при проверке подписи возвращает Ложь, хотя все входные данные и ключи одни и те-же. В чем может быть дело?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости