Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.05.2015(UTC) Сообщений: 41 Сказала «Спасибо»: 4 раз
|
Автор: Евгений Афанасьев Предположительно, что-то изменилось в алгоритме каноникализации (других причин быть не должно). Т.е., я правильно понимаю, что проблема именно в предложенной СМЭВом реализации SmevTransformSpi, и на их стороне каноникализация выполняется иначе, не по указанном алгоритму, да?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,927 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 691 раз в 652 постах
|
Мы предполагаем, что так. |
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 394 раз в 366 постах
|
Автор: ThinkingAnna two_oceans, подскажите, пожалуйста, когда Вы говорите про дополнительный трансформ, вы имеете ввиду SmevTransformSpi, представленный в документации СМЭВа? Вы его дорабатывали? Похоже что речь о нем, только я своими средствами (не на Джаве) попытался воспроизвести тестовые примеры преобразования из документации СМЭВ 3. Воспроизвел, но с основной программой этот фрагмент еще не срастил и на реальных данных не проверял. У меня пока острую необходимость срочной реализации СМЭВ 3 сняли, так что на полтора месяца из темы выпадал (отчеты писал), но сейчас буду наверстывать. Мое личное мнение - примеров из документации и близко недостаточно для проверки правильности. Причина: если сравнить с алгоритмом приведения к каноническому виду, где все мелочи расписаны, в документации СМЭВ 3 алгоритм SmevTransform накидан "широкими мазками" и можно реализовать его с множеством мелких различий в деталях. В частности, у меня остался большой вопрос по поводу сортировки пространств имен - сортировать пространства имен "как цифры" (в данном случае под цифрами понимаются коды символов) или "как строки" - чтобы было понятнее: "1","2","10","11" ("b" "c" "ba" "bb") или "1","10","11","2" (лексикографический порядок, как windows сортирует папки с именами из цифр) ("b" "ba" "bb" "c") - в одном случае сортировка зависит от длины потом кода первого символа, в другом от кода первого символа потом длины. В примере Ростелеком не стал напрягаться и сделал все пространства имен одной длины с отличающимся только последним символом, то есть порядок сортировки проверить примером невозможно, оба варианта сортировки выдадут одинаковую последовательность. В алгоритме тоже не указано нужно ли использовать лексикографический порядок сортировки из стандарта каноникализации. На реальных же данных выйдут "2 большие разницы". Еще интереснее с зависимостью от порядка исходных данных - определение пространства самого тега вынесено в начало. Предполагаю, многие реализации будут глючить на этом месте когда в исходных данных куча тегов без префиксов. И таких мелочей еще штук пять находил при воспроизведении примеров - на тестовых данных все отлично, но тест их правильность не характеризует, отличия мелочей не проявляет. Поэтому я остерегаюсь что-либо советовать пока не проверил свою реализацию на реальных данных запросов-ответов из СМЭВ 3.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close