Цифровая подпись XML с инклюзивной канонизацией

Я пытаюсь реализовать процедуру для цифровой подписи XML, и я могу правильно вычислить хэш информации, которую нужно подписать. Однако у меня возникают проблемы с самой подписью, так как мне не удается создать настоящую строку для подписи.

Прямо сейчас у меня есть это:

<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315">&lt;/CanonicalizationMethod>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>eDSx9uS7oB++bnG/6tGiD/l8374=</DigestValue>
</Reference>
</SignedInfo>

Использование только CR вместо CRLF. Нет пробелов для отступа (Там, где в посте есть пробел между тегами, есть CR)

Любые предложения по вычислению действительной подписи?

П.Д. Я изменил алгоритм канонизации на ИСКЛЮЧИТЕЛЬНЫЙ, и он работает, но требуется использовать ВКЛЮЧЕННЫЙ.

Заранее большое спасибо.


person crypto    schedule 31.05.2011    source источник


Ответы (1)


Вот предложение: убедитесь, что вы скопировали правильные определения пространств имен для всех тегов и атрибутов. Вот еще немного информации.

http://anilsaldhana.blogspot.com/2009/07/exclusive-versus-inclusive.html http://lists.oasis-open.org/archives/wss/200311/msg00058.html

Конечно, вы действительно не должны реализовывать свою собственную библиотеку XML DigSig в первую очередь. Я настоятельно рекомендую вам взглянуть на некоторые библиотеки с открытым исходным кодом, прежде чем продолжить. Должно быть достаточно примеров библиотек, которые выполняют такую ​​канонизацию. В любом случае, вы можете захотеть протестировать против них.

person Maarten Bodewes    schedule 04.06.2011