Статус: Новичок
Группы: Участники
Зарегистрирован: 08.12.2009(UTC) Сообщений: 8 Откуда: SPb
|
Задача: реализовать проверку подписанных документов Word на машине где нет и не может быть MS Word (Unix-машина). Вопрос: а можно ли решить задачу с помощью command-line утилит или JCP? Формат MS Word нигде не описан в части подписей.. так что разобрать его нереально так чтобы это было ещё и законно. PS: да, разумеется речь идёт о случае когда подпись внутри документа Word, а не отдельно в виде файла с подписью. Отредактировано пользователем 8 декабря 2009 г. 14:55:31(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 671 Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 93 раз в 67 постах
|
|
С уважением, Юрий Строжевский |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 08.12.2009(UTC) Сообщений: 8 Откуда: SPb
|
Эти документы я читал, но не нашёл ни слова о подписях, вот хоть убейте. (точнее о их бинарном формате) Отредактировано пользователем 8 декабря 2009 г. 15:46:54(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 08.12.2009(UTC) Сообщений: 8 Откуда: SPb
|
Хм... да, действительно во втором документе есть описание.. но будут ли такие манипуляции с байтами документа считаться сертифицированным решением? Кроме того, не понятно, какая часть документа собственно подписана этой подписью.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 671 Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 93 раз в 67 постах
|
...Пилите, Шура, пилите... |
С уважением, Юрий Строжевский |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 08.12.2009(UTC) Сообщений: 8 Откуда: SPb
|
Реализовал практически всё, а подпись ну не сходится и всё. Подозреваю что проблема связана с каким-то колдовским действом, которое в спеке MS-OFFCRYPTO (вторая ссылка) описано на странице 67.
Вот две выдержки из доки по подписыванию: "Let H() be a hashing function, which MUST be MD5, and ‗+‘ represent concatenation. Let HashObject be an object which may be initialized, append data in blocks into the object, and finalized to extract the resultant hash value Hfinal."
"CALL HashObject.Initialize CALL GenerateSignatureHash(Storage, HashObject, IsFiltered, AppFilter) SET Hdata TO HashObject.Finalize SET Hfinal TO H(Hdata + TimeStamp) SET Signature TO RFC3447(Hfinal, Certificate) RETURN Signature "
Для меня колдовство заключается в том, что я никак не пойму, а чего они делают с полученной подписью и таймстэмпом? И при чём тут MD5? Подпись-то имеет длину 64 байта.. что за concatenation они имеют ввиду?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 671 Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 93 раз в 67 постах
|
Предлагаю перед написанием кода для *nix сделать этот код для Windows |
С уважением, Юрий Строжевский |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 08.12.2009(UTC) Сообщений: 8 Откуда: SPb
|
Я пишу на Java через JCP.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 08.12.2009(UTC) Сообщений: 8 Откуда: SPb
|
Проблема в понимании спеки. Вероятно из-за какой-то тонкости у меня и не сходится проверка подписи.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 671 Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 93 раз в 67 постах
|
|
С уважением, Юрий Строжевский |
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close