Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
СМЭВ. Подпись физического лица. Ошибка в примере?
Статус: Участник
Группы: Участники
Зарегистрирован: 02.10.2012(UTC) Сообщений: 12
Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте. Проясните пожалуйста такой момент: В методических рекомендациях СМЭВ (пусть будет 2.4.5), есть раздел 4.4. ЭЛЕКТРОННАЯ ПОДПИСЬ ПРИ МЕЖВЕДОМСТВЕННОМ ВЗАИМОДЕЙСТВИИ В СООБЩЕНИЯХ БЕЗ ВЛОЖЕНИЙ приводится пример формирования подписи физического лица (выдернул часть) Код:<smev:AppData Id="AppData">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"/>
<ds:Reference URI="#AppData">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>
<ds:DigestValue>Значение хеша в Base64</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>Значение подписи в Base64</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>Cертификат X.509 в Base64</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</smev:AppData>
В пункте 4.4.1 сказано, что Цитата:Блок подписи размещается как дочерний для элемента smev:AppData, на одном уровне с бизнес-содержимым. Но в то же время из примера видно, что подписывается (точнее высчитывается значение хеш для значения элемента ds:DigestValue) блок smev:AppData. Это не правильный пример? Или допустимо подписывать элемент (в данном случае smev:AppData), в который потом будут вноситься изменения, путем вставки блока с подписью (ds:Signature)? А если допустим такой пример, то как потом проверять подпись? Вырезать блок ds:Signature? Мне кажется это не правильно. Отредактировано пользователем 29 ноября 2012 г. 18:14:04(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.10.2012(UTC) Сообщений: 12
Сказал(а) «Спасибо»: 2 раз
|
Нашел на http://www.w3.org/TR/xml.../#sec-EnvelopedSignature пункт 6.6.4 Enveloped Signature Transform, который говорит "An enveloped signature transform T removes the whole Signature element containing T from the digest calculation of the Reference element containing T." Т.е. правильно ли я понимаю, что такая подпись правильная? Т.е. вставка блока Signature в какой либо подписываемый блок является правильныой подписью. А перед проверкой нужно этот блок Signature удалять. Так?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 130 Поблагодарили: 26 раз в 25 постах
|
Существует несколько типов подписи: Enveloped (подпись внутри подписываемого документа) и Enveloping (сам документ добавляется как дополнительный объет в подпись), Detached (отдлённая подпись). В данном случае добавлен трансформ http://www.w3.org/2000/0...sig#enveloped-signature, который указывает, что подпись Enveloped, то есть при вычислении хеша элемента URI="#AppData", её из вычислений исключают. |
|
1 пользователь поблагодарил Георгий Садофьев за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.10.2012(UTC) Сообщений: 12
Сказал(а) «Спасибо»: 2 раз
|
Спасибо :) Сняли мои опасения.
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
СМЭВ. Подпись физического лица. Ошибка в примере?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close