|
|
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Ситуация такая, файл могут подгружать в БД в одном городе, а подписанты находятся в другом. Сейчас так реализовано, что подписант вынужден скачивать файл, чтобы подписать. А они иногда очень большие (сотни мб), это долго. Можно ли хранить хеш этих файлов, и подписывать таким образом файл? Если да, какими функциями это делается? Видел подобную реализацию в одном личном кабинете, сам файл закачивается в БД на сайте, и потом довольно быстро подписывается и доподписывается, только не понимаю как это у них работает. Сейчас это CryptSignMessage, и CryptMsgOpenToDecode + CryptMsgControl(CMSG_CTRL_ADD_SIGNER) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 09:27 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Devillio, именно так и делаю: вычисляют хэш, потом его подписывают. Хэш чаще всего не хранят, а при проверке вычисляют заново. Хэши, естественно, следует выбирать исходя из задачи. Для формирования ЭЦП высокой надежности используют криптографические хэши, например, разновидности SHA-2, в частности - SHA256. Формируется 32-байтный хэш, который и подписывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 11:52 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
DevillioСейчас так реализовано, что подписант вынужден скачивать файл, чтобы подписать. А они иногда очень большие (сотни мб), это долго. Можно ли хранить хеш этих файлов, и подписывать таким образом файл? Подписывать документ, не видя его, это ты круто придумал. Круче только подпись на чистом листе бумаги или вообще передача личной печати другому лицу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 12:06 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDevillioСейчас так реализовано, что подписант вынужден скачивать файл, чтобы подписать. А они иногда очень большие (сотни мб), это долго. Можно ли хранить хеш этих файлов, и подписывать таким образом файл? Подписывать документ, не видя его, это ты круто придумал. Круче только подпись на чистом листе бумаги или вообще передача личной печати другому лицу. Dimitry, это уже стало "нормой" и есть решения (подпись в плагине по хеш-значению) от наших производителей СКЗИ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 12:48 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
sql2012это уже стало "нормой" и есть решения (подпись в плагине по хеш-значению) от наших производителей СКЗИ. Тогда зачем передавать документ (или хэш) к подписывающему сертификату, когда проще передать сертификат к документу?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 12:52 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
а для проверки - есть https://www.gosuslugi.ru/pgu/eds авторПодтверждение подлинности ЭП электронного документа. ЭП — отсоединенная, в формате PKCS#7 по значению хэш-функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 12:52 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovsql2012это уже стало "нормой" и есть решения (подпись в плагине по хеш-значению) от наших производителей СКЗИ. Тогда зачем передавать документ (или хэш) к подписывающему сертификату, когда проще передать сертификат к документу?.. Сертификат к документу ...? Или речь про закрытый ключ поместить на сервер и пусть там сервер сам подписывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 12:54 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
sql2012Или речь про закрытый ключ поместить на сервер и пусть там сервер сам подписывает? Автор жалуется, что документы большие, передавать их к закрытому ключу для подписи долго. Закрытый ключ маленький, его можно быстро передать к документу, подписать, потом удалить. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:06 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovsql2012Или речь про закрытый ключ поместить на сервер и пусть там сервер сам подписывает? Автор жалуется, что документы большие, передавать их к закрытому ключу для подписи долго. Закрытый ключ маленький, его можно быстро передать к документу, подписать, потом удалить. Тогда уж лучше HSM , если своё решение, но это дорого и как-то всё равно... противоречит логике о "закрытым ключом должен владеть только владелец"... хотя опять же есть "передача по доверенности и т.п. лазейки"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:24 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovsql2012Или речь про закрытый ключ поместить на сервер и пусть там сервер сам подписывает? Автор жалуется, что документы большие, передавать их к закрытому ключу для подписи долго. Закрытый ключ маленький, его можно быстро передать к документу, подписать, потом удалить. Жесть какую-то предлагаете. Закрытый ключ он потому и закрытый, что извлечь его (по хорошему) с физического носителя не должнно быть никакой возможности Кроме того, обычно, хранилище еще требует и ввода PIN кода. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:35 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Посмотрел еще раз MSDN на предмет CryptoAPI (старый!) Вполне себе есть (были) ф-ции https://docs.microsoft.com/en-us/windows/desktop/api/wincrypt/nf-wincrypt-crypthashdata https://docs.microsoft.com/en-us/windows/desktop/api/wincrypt/nf-wincrypt-cryptsignhasha Другое дело, что возможно конверт с подписью нужно будет руками создавать. Ну или посмотреть Message ф-ции, могут ли они отдельно в сообщение (detach подпись) вставить сертификат и подпись по отдельности. AFAIK. p.s. в терминологии могу ошибаться, не особо разбираюсь, но пару лет назад приходилось подпись для интеграции со СМЭВ кодировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:45 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЖесть какую-то предлагаете. А подписание одного, неизвестно откуда взявшегося, хэша, типа, не жесть?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:47 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
https://docs.microsoft.com/en-us/windows/desktop/api/Wincrypt/nf-wincrypt-cryptmsgopentoencode ....Indicates the message type. This must be one of the following values.... CMSG_HASHED - The pvMsgEncodeInfo parameter is the address of a CMSG_HASHED_ENCODE_INFO structure that contains the encoding information. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:53 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovLeonid KudryavtsevЖесть какую-то предлагаете. А подписание одного, неизвестно откуда взявшегося, хэша, типа, не жесть?.. Откуда взялось - известно, из приложения. 1) Если в приложении закладок нету, то оно совсем не "неизвестно откуда взявшееся". А если есть закладки, то хоть документ, подписывай, хоть хэш. Это просто последовательность байтов, которые человек проверить не может. 2) Для идентификации документа человеком, ему мегабайты не нужны. Вполне может оказаться достаточно Названия, Номер, Дата, Контрагент, ИТОГОВАЯ сумма. Другое дело, у меня работающего кода под руками нет. Не очень понятно, можно ли создать HASH не имея ключа (((. Это надо весь код с самого начала просматривать (инициализация крипто провайдера, выбор алгоритмов и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 13:59 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevОткуда взялось - известно, из приложения. 1) Если в приложении закладок нету, то оно совсем не "неизвестно откуда взявшееся". А если есть закладки, то хоть документ, подписывай, хоть хэш. Это просто последовательность байтов, которые человек проверить не может. Точно то же работает и для передачи закрытого ключа в приложение. Если в нём есть закладки - уже ничего не поможет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 14:06 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Выше предложение в общем случае вообще не выполнимо. Если ключ на железном носителе (e-Token), то (по хорошему) извлечь его оттуда не должно быть никакой возможности. Более того, тот же Crypto PRO перед использованием e-Token'а попросит указать PIN. По крайне мере, стандартные API функции при попытки извлечь закрытый ключ будут падать с error'ом. Насколько я видел ГОСТОВ'вские e-Token'ы с подпиьсю, то выгрузка закрытых ключей с носителя была запрешена (насколько это ограничение аппаратное, а насколько програмное - не знаю). Раз в год e-Token'ы просто выбрасывались и пресылались новые. AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 15:23 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevВыше предложение в общем случае вообще не выполнимо.Дмитрий говорит о том, что если пользователь подписывает документ, который не видит, то в чем тогда великий смысл такой подписи? Для галочки? Так с тем же успехом подписывать можно и на сервере, не напрягая пользователей. Просто снабдив сервер приватными ключами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 15:38 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Leonid KudryavtsevВыше предложение в общем случае вообще не выполнимо.Дмитрий говорит о том, что если пользователь подписывает документ, который не видит, то в чем тогда великий смысл такой подписи? Для галочки? Так с тем же успехом подписывать можно и на сервере, не напрягая пользователей. Просто снабдив сервер приватными ключами Смысл в том, что подписать может только владелец (хранитель) ключа. Владельцу (хранителю) ключа совершенно наплевать на содержание документа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 15:57 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Я примерно так понимаю потребность топик-стартера: 1) В табличке Лицо Принимающее Решение видит список Договор N 1 от 01.01.2018 Международные Большие Машины - 100 000 $ Договор N 2 от 01.01.2018 Большая Консалтинговая Группа - 200 000 $ Договор N 3 от 01.01.2018 Молодой & Честный - 80 000 $ Выбирает нужный договор, нажимает подписать. Нужный договор (возможно 100500 Mb на 500 страницах с картинками, графиками и прочей ерундой) подписывается. В общем-то, ВЫЧИТЫВАТЬ документы должен не начальник, а его подчиненные. 2) вторая жизненная ситуация. Одна кнопка - загрузить документ в систему Вторая кнопка - просмотреть Третья кнопка - подписать Хочет, может просмотреть. Хочет, может сразу подписать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 16:00 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev Другое дело, у меня работающего кода под руками нет. Не очень понятно, можно ли создать HASH не имея ключа (((. Это надо весь код с самого начала просматривать (инициализация крипто провайдера, выбор алгоритмов и т.д.) Для расчета хеша - не нужен ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 17:28 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
Большое спасибо всем за информацию! Мы - организация, которой по закону должна передаваться документация с ЭЦП. Для этого сейчас есть прекрасно (в части подписи, но не всего остального :)) работающее web-приложение. По факту крайне часто, если не сказать постоянно, люди подъезжают с файлами прямо сюда, чтобы подгрузить доки быстро (ну или по некоторым другим причинам :)), и не всегда (точнее, почти никогда) у них с собой ключ. И тогда после загрузки тот, кто файлы привез, отзванивается, что все загружено, и где-то там со своим ключом в личном кабинете все быстро подписывается без скачивания. Похоже что при импорте делается хеш файла (CryptHashMessage - Creates a hash of the message - наверное, так). И через ЛК этот хеш подписывается, т.е. никакой, естественно, закрытый ключ никуда с клиентов не уходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 08:45 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
ну необязательно даже и CryptHashMessage пользовать, готовых реализаций хэш-функций вагон и телега ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 09:54 |
|
||
|
Cripto-API, можно ли сохранить отдельно хеш файла, и подписывать этот файл по его хешу?
|
|||
|---|---|---|---|
|
#18+
DevillioПохоже что при импорте делается хеш файла (CryptHashMessage - Creates a hash of the message - наверное, так). И через ЛК этот хеш подписывается, т.е. никакой, естественно, закрытый ключ никуда с клиентов не уходит. Я бы в этом не был так уверен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 12:22 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39666513&tid=2040679]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 485ms |

| 0 / 0 |
