Статус: Участник
Группы: Участники
Зарегистрирован: 24.11.2017(UTC) Сообщений: 12 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 2 раз
|
добрый день! продолжаю серию вопросов по работе с подписью XML-документов :) требуется реализовать верификацию отсоединённой подписи, которая не "обёрнута" исходным XML-документом. в примерах КриптоПро есть только генерация такой подписи, в файле xmlSign/GenDetached.java при попытке верификации полученной подписи методом, аналогичным описанному в XmlSignDoc.java, наблюдаю Exception: Код:
Original Exception was org.apache.xml.security.signature.ReferenceNotInitializedException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.signature.ReferenceNotInitializedException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.signature.XMLSignatureException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.transforms.TransformationException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Premature end of file.
как понимаю, КриптоПро пытается получить доступ к исходному подписанному документу. объясните, пожалуйста, каким образом реализуется верификация detached-подписи.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.11.2017(UTC) Сообщений: 12 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 2 раз
|
хотя, похоже, что задаю некорректный вопрос, заранее приношу извинения. вообще, моя задача - выяснить можно ли выполнить верификацию enveloped подписи в отрыве от оборачивающего документа. решил, что можно попробовать скормить валидатору документ, в котором есть только <ds:Signature>...</ds:Signature> Код:
<?xml version="1.0" encoding="UTF-8"?>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
...
</ds:Signature>
именно для такого документа получаю Exception при верификации. но сейчас я внимательно посмотрел на структуру detached подписи в GenDetached.java и понял, что там нет информации о сертификатах и трансформациях. следовательно, проводить аналогию между detached и отдельным элементом enveloped-подписи нельзя. при необходимости, эту ветку можно удалить, а я сформулирую вопрос заново. соответственно вопрос: можно ли выполнить верификацию enveloped-подписи без оборачивающего документа и корректен ли такой вопрос с технической точки зрения?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Здравствуйте. Автор: Вячеслав Александрович ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) можно ли выполнить верификацию enveloped-подписи без оборачивающего документа и корректен ли такой вопрос с технической точки зрения? В примере GenDetached в подписи есть <Reference URI="http://www.w3.org/TR/xml-stylesheet">, т.е. ссылка на документ (в сети), которого в формируемом XML документе с подписью нет: Код:
// Create a Reference to an external URI that will be digested
// using the SHA1 digest algorithm
Reference ref = fac.newReference("http://www.w3.org/TR/xml-stylesheet",
fac.newDigestMethod(DigestMethod.SHA1, null));
Смысла в enveloped подписи, пожалуй, нет, т.к. подписанный документ находится вне содержащего подпись документа. Отредактировано пользователем 7 декабря 2017 г. 17:51:35(UTC)
| Причина: Не указана |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.11.2017(UTC) Сообщений: 12 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 2 раз
|
всё понял, спасибо!
извините, что не сразу спросил по сути дела.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close