Статус: Участник
Группы: Участники
Зарегистрирован: 26.12.2014(UTC) Сообщений: 15  Сказал(а) «Спасибо»: 1 раз
|
Всем привет. Стоит такая задача: На клиенте формируем XmlDsig и отсылаем серверу.(Подписали на клиенте Xml файл) Теперь надо удостовериться, что данные не изменились. Я беру DigestValue из сообщения, а свой DigestaValue я формирую на сервере сам, из известного мне Xml документа, предварительно преобразовав его(код прилагаю ниже), но значения не совпадают. может кто сталкивался? Код:
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(purchasePlan.GetRequestData().ToString());
var c14NTransform = new XmlDsigExcC14NTransform();
c14NTransform.LoadInput(xmlDocument);
var result = new StreamReader((MemoryStream)c14NTransform.GetOutput()).ReadToEnd();
result = result.Replace("<XPath>", "<XPath xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
var stream = Encoding.UTF8.GetBytes(result);
HashAlgorithm gost3411 = HashAlgorithm.Create("GOST3411");
var hash = gost3411.ComputeHash(stream);
var d = Convert.ToBase64String(hash);
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,453  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 748 раз в 643 постах
|
Посмотрите рефлектором код MS. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close