logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Степан З  
#1 Оставлено : 1 августа 2018 г. 11:28:42(UTC)
Степан З

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.07.2018(UTC)
Сообщений: 3
Российская Федерация
Откуда: Екб

Добрый день!

Есть три подписанных xml-файла.

В первом файле значения текстовых узлов не содержат символов перевода каретки (CR, 
, \r, 
 и т.д.):
Код:
<?xml version="1.0" encoding="utf-8"?><Root v="2" a="1"><Value>part1part2</Value></Root>


Во втором такой символ встречается:
Код:
<?xml version="1.0" encoding="utf-8"?><Root v="2" a="1"><Value>part1
part2</Value></Root>


В третьем есть он же, но в каноническом виде:
Код:
<?xml version="1.0" encoding="utf-8"?><Root v="2" a="1"><Value>part1&#xD;part2</Value></Root>



Во всех трех случаях алгоритмы канонизации, хеширования и подписи одинаковые:
Код:
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
    <SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" />
    <Reference URI="">
      <Transforms>
        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
        <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
      </Transforms>
      <DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411" />
      <DigestValue>fzJ2...g8I=</DigestValue>
    </Reference>
  </SignedInfo>
  <SignatureValue>WcHL...Eg==</SignatureValue>
  <KeyInfo>
    <X509Data>
      <X509Certificate>MIIJ...Bmk=</X509Certificate>
    </X509Data>
  </KeyInfo>
</Signature>


Канонизация исходного файла делается средствами .Net-а трансформацией System.Security.Cryptography.Xml.XmlDsigExcC14NTransform.
Код:
var xmlTransform = new XmlDsigExcC14NTransform();
xmlTransform.LoadInput(x);
var output = (MemoryStream) xmlTransform.GetOutput();


После трансформации получаем такие строки (декодированые из UTF-8)

В первом случае:
Код:
<Root a="1" v="2"><Value>part1part2</Value></Root>


Во втором и третьем:
Код:
<Root a="1" v="2"><Value>part1&#xD;part2</Value></Root>


Во всех трех случаях трансформация соответствует стандарту и правилам канонизации xml-exc-c14n# основанной на XML-C14N

Однако при проверке на КриптоПро DSS только первая подпись является математически корректной.
Почему две другие не проходят математическую валидацию?
Такое ощущение, что на стороне сервиса проверки происходит какая-то другая трансформация, которая иначе обрабатывает символ перевода каретки в текстовых узлах.

Первый файл, чья подпись математически корректна:
Код:
<?xml version="1.0" encoding="utf-8"?><Root v="2" a="1"><Value>part1part2</Value><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411" /><DigestValue>fzJ2YKJyg+HT7l9wyz/coc2Cg02A672DmHGL8lNlg8I=</DigestValue></Reference></SignedInfo><SignatureValue>WcHLnCl+8z9iWJSfYRe0TkjyttIPSvvxwroO+mCvCstluqJr8YQArvAcec6DqhwOorWscsOghgi9cWtcLvxiEg==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></Root>


Второй и третий, которые не проходят математику:
Код:
<?xml version="1.0" encoding="utf-8"?><Root v="2" a="1"><Value>part1
part2</Value><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411" /><DigestValue>cxuyd7P51Wm1YstYM4EOoBXSWOMl+hOSewq0g+/hoZc=</DigestValue></Reference></SignedInfo><SignatureValue>cPU4B78LtoY+5HdmIxyaCxqxAWVcKzORZKLSjEEx/mwKNcAwoVwnBvv1DVg5khTELbKMRRsxTyNWIIzlsAOXSA==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></Root>


Код:
<?xml version="1.0" encoding="utf-8"?><Root v="2" a="1"><Value>part1&#xD;part2</Value><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411" /><DigestValue>cxuyd7P51Wm1YstYM4EOoBXSWOMl+hOSewq0g+/hoZc=</DigestValue></Reference></SignedInfo><SignatureValue>plZmM+wSeY0OcqSCI7gK+pyoNVGYRoi0MWhspWhFXyLXHTH0+5pRjCksxhtA0yhT1V7g0AsT9NcYMBKaVlKDWg==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></Root>


P.S. То, что они все не проходят по достоверности издателю корневого сертификата — это понятно и неинтересно — вопрос про математику.
Offline Степан З  
#2 Оставлено : 2 августа 2018 г. 5:01:58(UTC)
Степан З

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.07.2018(UTC)
Сообщений: 3
Российская Федерация
Откуда: Екб

Примеры файлов из предыдущего сообщения:

Файл без перевода каретки plane.xml (5kb) загружен 1 раз(а). Подпись математически корректна.
Файл с одним символом '\r' cr.xml (5kb) загружен 1 раз(а). Подпись не проходит математику.
Файл с экранированным символом escapedCr.xml (5kb) загружен 1 раз(а). Подпись опять-таки не проходит математику.
Offline khomenko  
#3 Оставлено : 7 августа 2018 г. 7:32:31(UTC)
khomenko

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.04.2010(UTC)
Сообщений: 125
Мужчина
Откуда: Крипто-Про

Поблагодарили: 11 раз в 10 постах
Добрый день,

На стороне сервера используются трансформы реализованные в .NET.


На вашей стороне средствами .NET (SignedXml) подписи проходят проверку?
Offline Степан З  
#4 Оставлено : 8 августа 2018 г. 5:15:56(UTC)
Степан З

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.07.2018(UTC)
Сообщений: 3
Российская Федерация
Откуда: Екб

Точно такое же поведение:
Для файла без возврата каретки все норм, для файла с ней — не проходит.
Что я делаю не так?
Offline khomenko  
#5 Оставлено : 13 августа 2018 г. 16:28:54(UTC)
khomenko

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.04.2010(UTC)
Сообщений: 125
Мужчина
Откуда: Крипто-Про

Поблагодарили: 11 раз в 10 постах
Можно собственно увидеть полный код того, что выделаете?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.