Подпись хешированного файла
Модераторы: Naeel Maqsudov, C_O_D_E
Привет!
Вопрос вот в чем: есть программа рассчитывания хеш – функции файла и подписывания электронной подписью этого файла, образованного хеш – функцией.
Это легко можно сделать, используя пункты контекстного меню: 6 и 1. Но потребуется нажимать два раза: «Рассчитать хеш…» и «Подписать». Необходимо, что-то сделать, что бы это делать одним нажатием, движением, перемещением… (для пользователя). Годится любое решение, лишь бы пользователь делал одно движение (нажатие, перемещение). Ну и в обратную сторону, п. меню: 2 и 7. Не подскажете какое-нибудь хотя бы общее направление решения этой задачи.
Меню программы:
1.Подписать
2.Проверить подпись
3.Удалить подпись
4.Зашифровать…
5.Расшифровать…
6.Рассчитать хеш…
7.Проверить хеш…
8.Настройки…
Всего наилучшего!
PS Вообще работаю в Visual C++ 6.0
Вопрос вот в чем: есть программа рассчитывания хеш – функции файла и подписывания электронной подписью этого файла, образованного хеш – функцией.
Это легко можно сделать, используя пункты контекстного меню: 6 и 1. Но потребуется нажимать два раза: «Рассчитать хеш…» и «Подписать». Необходимо, что-то сделать, что бы это делать одним нажатием, движением, перемещением… (для пользователя). Годится любое решение, лишь бы пользователь делал одно движение (нажатие, перемещение). Ну и в обратную сторону, п. меню: 2 и 7. Не подскажете какое-нибудь хотя бы общее направление решения этой задачи.
Меню программы:
1.Подписать
2.Проверить подпись
3.Удалить подпись
4.Зашифровать…
5.Расшифровать…
6.Рассчитать хеш…
7.Проверить хеш…
8.Настройки…
Всего наилучшего!
PS Вообще работаю в Visual C++ 6.0
Ради приличия неплохо бы писать условия где это надо..
Не уверен, что правильно понял реплику... Это надо в отделе безопасности информации определенной организации. Если нужна какая-то еще информация, то спрашивайте.
Имеется ввиду - что это за прога. Сейчас таких программ расплодилось.... Если ее писало какое-то частное лицо, а не официальная группа разработчиков - то это нужно править в исходном коде его программы. Если нет, обратится к разработчикам софта и попросить такую фичу. Но я думаю будет проще научить юзера этой нехитрой последовательности.
It's a long way to the top if you wanna rock'n'roll
И я думаю точно так же. Программу писала официальная группа разработчиков, но обратиться к ним нет возможности. Не все зависит от меня, делать ее все равно придется. Может быть подскажете хоть какой-то "приемлемый" способ ее решения.somewhere писал(а):Но я думаю будет проще научить юзера этой нехитрой последовательности.
PS Извиняюсь за туповатое упрямство.
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
а исходники этой "Программы" есть?...
если нет - то что означает "делать ее все равно придется" ??
если нет - то что означает "делать ее все равно придется" ??
Это означает, что придется делать то, что я писал в первом своем топике. Т.е. искать какое-то решение «Рассчитать хеш…» -> «Подписать» какой-то файл (за один раз) и «Проверить подпись»-> «Проверить хеш…» (за один раз) того же файла. Абсолютно любым способом...от батника до программы в VC++6.0. Если такой способ существует. Исходников у меня нет.
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
Fil, мне кажется, что у Вас возникло опасное заблуждение, что существует только один вариант хеша и один вариант цифровой подписи, на его основе.
На мой взгляд, это не так... к сожалению, это (криптография) достаточно сложная тема...
вот, ознакомьтесь с ОГЛАВЛЕНИЕМ книги Брюс Шнайер. Прикладная криптография:
(ac_contnt.zip или эрекало - этот же файлик с оглавлением тут)
На мой взгляд, это не так... к сожалению, это (криптография) достаточно сложная тема...
вот, ознакомьтесь с ОГЛАВЛЕНИЕМ книги Брюс Шнайер. Прикладная криптография:
(ac_contnt.zip или эрекало - этот же файлик с оглавлением тут)
Спасибо, что "возитесь" со мной. Но вопрос не в вариантах хеширования и подписывания. Я безтолково объяснил, что мне нужно (со мной это бывает).
Есть совершенно определенная программа, где вариант хеширования и подписывания жестко "зашит" (исходников у меня нет). Когда она установлена на компе, щелкнув правой кнопкой мыши на файле который хочешь подписать в контекстном меню появляется пункт "Подписать". Который в свою очередь, если высветить его курсором предложит меню описанное мной выше. Файл нельзя подписывать напрямую, т.е. технически можно, по организационным причинам нельзя, а только хеш этого файла (в детали вдаваться не буду). Поэтому в меню нет пункта..."Хешировать и подписать" и наоборот "Проверить подпись и проверить хеш". Но, необходимо, что-то сделать, что бы она так и выполнялась. Какую-то оболочку или что-то... Это для пользователя. Из командной строки это делается за раз, но нужна прога, скрипт, батник или еще что-то. Пользователь не должен набирать в командной строке.
Есть совершенно определенная программа, где вариант хеширования и подписывания жестко "зашит" (исходников у меня нет). Когда она установлена на компе, щелкнув правой кнопкой мыши на файле который хочешь подписать в контекстном меню появляется пункт "Подписать". Который в свою очередь, если высветить его курсором предложит меню описанное мной выше. Файл нельзя подписывать напрямую, т.е. технически можно, по организационным причинам нельзя, а только хеш этого файла (в детали вдаваться не буду). Поэтому в меню нет пункта..."Хешировать и подписать" и наоборот "Проверить подпись и проверить хеш". Но, необходимо, что-то сделать, что бы она так и выполнялась. Какую-то оболочку или что-то... Это для пользователя. Из командной строки это делается за раз, но нужна прога, скрипт, батник или еще что-то. Пользователь не должен набирать в командной строке.
Я думаю нужно копать в сторону контекстного меню. Т.е. нужно добавить еще один пункт меню, который будет запускать бат-файл в который он передаст в качестве параметра (%1) выбранный в проводнике файл. В бат-файле ссответственно будут прописана прога хеширования и подписи с переданным файлом в качестве параметра. Если зайти в проводнике "Сервис\Свойства папки\Типы файлов" то можно для нужных расширений добавить это контестное пеню в списки доступных действий - нажать дополнительно, указать название действия в меню и путь к бат-файлу. Что-то вроде того.
Еще в реестре в HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers есть список хендлеров, обычно на CLSID контекстных меню, которые доступны для файлов с любым расширением. В описателях этих CLSID должны быть предопределены специальные разделы, в которых есть строковый параметр, указывающий на DLL содержащую контекстное меню. Я, к сожалению, с этим не работал - как-то не приходилось, но уверен в инете информации и утил, позволяющих сделать контекстное меню в винде любого вида, предостаточно.
Еще в реестре в HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers есть список хендлеров, обычно на CLSID контекстных меню, которые доступны для файлов с любым расширением. В описателях этих CLSID должны быть предопределены специальные разделы, в которых есть строковый параметр, указывающий на DLL содержащую контекстное меню. Я, к сожалению, с этим не работал - как-то не приходилось, но уверен в инете информации и утил, позволяющих сделать контекстное меню в винде любого вида, предостаточно.
It's a long way to the top if you wanna rock'n'roll