Статус: Новичок
Группы: Участники
Зарегистрирован: 19.01.2015(UTC) Сообщений: 5 
|
Возможно каким-либо образом средствами CryptoApi получить detached подпись из файла, если она сохранена вместе с подписанными данными? То есть мы подписали данные в файле, получили detached подпись и дописали эту подпись в конец файла. Теперь для проверки подписи надо разделить данные и саму подпись, как это сделать средствами CryptoApi? Делать attached подпись нельзя.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: kov  Возможно каким-либо образом средствами CryptoApi получить detached подпись из файла, если она сохранена вместе с подписанными данными? То есть мы подписали данные в файле, получили detached подпись и дописали эту подпись в конец файла. Теперь для проверки подписи надо разделить данные и саму подпись, как это сделать средствами CryptoApi? Делать attached подпись нельзя. Так причем здесь CryptoAPI, если сами выбрали такой интересный путь? Считывайте подпись из "конца" файла и проверяйте. Зачем изобретать что-то, если для этого есть уже attached и функции для проверки и извлечения исходного файла? |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.01.2015(UTC) Сообщений: 5 
|
Подпись КриптоПро встраивается в работающую систему (с другими криптосистемами) и там реализовано именно таким образом, подпись добавляется в конец файла (все под это заточено) Я не знаю размер подписи, она может быть разной длины. Я пытаюсь понять для себя надо ли дописывать в конец файла еще какую-нибудь информацию, например размер подписи или можно каким-нибудь образом обойтись без этого, чтобы получить detached подпись отдельно от данных, когда она записана в конец данных
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: kov  Подпись КриптоПро встраивается в работающую систему (с другими криптосистемами) и там реализовано именно таким образом, подпись добавляется в конец файла (все под это заточено) Я не знаю размер подписи, она может быть разной длины. Я пытаюсь понять для себя надо ли дописывать в конец файла еще какую-нибудь информацию, например размер подписи или можно каким-нибудь образом обойтись без этого, чтобы получить detached подпись отдельно от данных, когда она записана в конец данных Что мешает использовать detached подпись по назначению? А именно - хранить отдельно от файла? Файлы где хранятся, в базе? Они же предварительно "обрабатываются" перед открытием, чтобы получился корректный файл? Что мешает отдельно хранить файл подписи? Не пора ли "переточить" на правильный вариант? и что "все"? Разное ПО? |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.01.2015(UTC) Сообщений: 5 
|
Давайте не будем углубятся почему надо сделать именно так. Будем считать, что стоит именно такая задача, разделить данные и detached подпись, которые хранятся в одном файле detached подпись записана в конец. Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: kov  Давайте не будем углубятся почему надо сделать именно так. Будем считать, что стоит именно такая задача, разделить данные и detached подпись, которые хранятся в одном файле detached подпись записана в конец. Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи.
Написать "анализатор" файла. Отступает от конца файла х кб (размер зависит от вложенных сертификатов\(не)подписанных атрибутов) и читает оставшийся кусок, находит сигнатуру (см. ASN.1) и с этого байта - будет идти detached-подпись. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 675   Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 95 раз в 68 постах
|
Автор: kov  Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи. Нельзя (на самом деле можно, см. мой пост). Возможно создание различных, совершенно "валидных" "сигнатур подписи". То есть подпись кодируется с помощью ASN.1, а в ASN.1 длина блока может быть как обозначенной явно, так и обозначенной неявно. Также проблема в том, что ASN.1 "заточено" под декодирование с начала. Декодировать с конца абсолютно нет возможности. Отредактировано пользователем 9 октября 2015 г. 10:40:11(UTC)
| Причина: Не указана |
С уважением, Юрий Строжевский |
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: Юрий  Автор: kov  Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи. Нельзя. Возможно создание различных, совершенно "валидных" "сигнатур подписи". То есть подпись кодируется с помощью ASN.1, а в ASN.1 длина блока может быть как обозначенной явно, так и обозначенной неявно. Также проблема в том, что ASN.1 "заточено" под декодирование с начала. Декодировать с конца абсолютно нет возможности. Юрий, т.е. предложенный мною выше вариант (извлечь блок 2-10 кб с конца и найти начало cms, т.к. автору нельзя хранить размер подписи и ее саму отдельно, а присоединенная подпись - "не вариант") - не рабочий? |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 675   Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 95 раз в 68 постах
|
Автор: Андрей *  Автор: Юрий  Автор: kov  Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи. Нельзя. Возможно создание различных, совершенно "валидных" "сигнатур подписи". То есть подпись кодируется с помощью ASN.1, а в ASN.1 длина блока может быть как обозначенной явно, так и обозначенной неявно. Также проблема в том, что ASN.1 "заточено" под декодирование с начала. Декодировать с конца абсолютно нет возможности. Юрий, т.е. предложенный мною выше вариант (извлечь блок 2-10 кб с конца и найти начало cms, т.к. автору нельзя хранить размер подписи и ее саму отдельно, а присоединенная подпись - "не вариант") - не рабочий? Нет, ибо в подписи может быть, например, множество очень длинных сертификатов. В этом случае размер в 10Кб может быть очень быстро преодолён. Полагаться, что подпись будет иметь строго какой-то (пусть и примерный) размер нельзя. |
С уважением, Юрий Строжевский |
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: Юрий  Автор: Андрей *  Автор: Юрий  Автор: kov  Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи. Нельзя. Возможно создание различных, совершенно "валидных" "сигнатур подписи". То есть подпись кодируется с помощью ASN.1, а в ASN.1 длина блока может быть как обозначенной явно, так и обозначенной неявно. Также проблема в том, что ASN.1 "заточено" под декодирование с начала. Декодировать с конца абсолютно нет возможности. Юрий, т.е. предложенный мною выше вариант (извлечь блок 2-10 кб с конца и найти начало cms, т.к. автору нельзя хранить размер подписи и ее саму отдельно, а присоединенная подпись - "не вариант") - не рабочий? Нет, ибо в подписи может быть, например, множество очень длинных сертификатов. В этом случае размер в 10Кб может быть очень быстро преодолён. Полагаться, что подпись будет иметь строго какой-то (пусть и примерный) размер нельзя. Они же сами себе режиссеры, нет? Не вижу препятствий, раз не могут по нормальному использовать CryptoAPI, узаконить жесткие требования (только 1 сертификат, без цепочки, + примерный диапазон размера). |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close