Необходимо написать или модифицировать торрент-клиент. Подробности в личной переписке.
Цифровая подпись
В качестве средства разработки используем Borland C++ (или Visual Studio c++, C#). Создадим dll-библиотеку, выполняющую подпись и верификацию подписи, и с помощью COM-технологии встроим ее в контекстное меню Windows.
Процедура создания подписи:
1. Получаем имя файла при вызове программы.
2. Открываем диалоговое окно, запрашиваем у пользователя имя результирующего подписанного файла и место его расположения.
3. Открываем личное хранилище сертификатов пользователя «My».
4. Получаем контекст сертификата, который будет использо-ваться для подписи и его секретный ключ.
5. Для подписи файла будем использовать функцию CryptSignMessage. Инициализируем структуру, которая необходима для подписи, в ее поля внесем информацию о сертификате, с помощью которого производится подпись, алгоритм формирования хеш-значения подписанных данных и остальные дополнительные параметры. Параметр fDetachedSignature задает тип получаемой цифровой подписи (отделенная или совмещенная с данными). Мы создаем отделенную подпись, это позволит читать файл без его предварительной расшифровки. Также в этой структуре есть поле-указатель на подписываемые данные. После определения всех параметров структуры, первый раз функцию вызываем для вычисления размера подписи. Затем вызываем эту же самую функцию второй раз с буфером определенного размера, в который и будет помещена созданная подпись.
6. В результирующий файл переписываем исходный файл. Затем записываем размер исходного файла, который понадобится для проверки подписи. Далее записываем имя подписчика и саму подпись и ее длину. Кроме ого, впишем строку «This file is signed» для того, чтобы при проверке можно было точно определить, что проверяется подписанный файл. Функция CryptSignMessage создает подпись в формате PKCS и дает возможность в подпись внести дополнительную информацию, например о сертификате подписчика.
Процедура проверки подписи файла:
1. Открываем файл, считываем последнюю строку, если это строка «This file is signed». Значит, файл подписан и его можно проверять.
2. Считываем длину подписи и саму подпись.
3. Далее считываем имя подписчика.
4. Считываем размер исходных подписанных данных и сами исходные данные. 5. Для проверки подписи будем использовать функцию CryptVerifyDetachedMessageSignature. Одним из входных параметров функции является структура, поля которой содержат извлеченную нами подпись, исходные данные и сертификат подписчика. Сертификат подписчика запрашиваем в каталоге Active Directory.
6. Данная функция при вызове возвращает логическое значение, если оно истинно, значит, подпись верна, и мы сообщаем об этом пользователю.
Для встраивания в контекстное меню создадим небольшой COM-сервер, куда и впишем вышеописанные процедуры. Для того, чтобы программа вызывалась из контекстного меню Windows, необходимо прописать ее регистрацию в реестре операционной системы для любого расширения файлов.
Выбранный исполнитель
Похожие заказы
- $250Прикладное ПО8 заявокЗакрыт15 лет назад
Нужна одна из программ, которые могут: Простой вариант. Подготовительная фаза. 1 Позволяет вписать в себя адреса, имена, имэилы, номера телефонов, адреса людей в одной базе данных и сохраняет их. ...
Прикладное ПО1 исполнительЗавершен15 лет назад- $3000
На данный момент нужно разработать многопоточную библиотеку. Бюджет: 800 долларов (в дальнейшем хотим выкупить исходники библиотеки, если нас всё устроит - это ещё 2200 долларов). Сроки ограничены!
Прикладное ПО31 заявкаЗакрыт15 лет назад - $150
Необходима десктопная программка, помогающая в создании и ведении блогов в ЖЖ В программе нужны 2 опции. 1. Программка должна уметь создавать новые аккаунты ЖЖ с подтверждением по мылу и сохранять доступы к ним ...
Прикладное ПО1 исполнительЗавершен15 лет назад Нужно сделать так, чтобы по заданному запросу из поисковых систем формировался список из текстов, заголовков выдачи и прибавлялись эти слова к введенному запросу. Также, данные для парсинга можно брать из статистики запросов поисковых систем, ...
Прикладное ПО2 заявкиЗакрыт15 лет назад- $35
Winforms приложение, которое собирает email-ы с урла до второго уровня. Работа с WebBrowser.
Прикладное ПО1 исполнительЗавершен15 лет назад - $680
Требуется портировать работающую программу с visual c 6 на visual basic 6
Прикладное ПО11 заявокЗакрыт15 лет назад Необходимо выполнить курсовой проект(принципиальная схема, алгоритм (блок-схема), программа на Ассемблере) на микроконтроллере семейства МК-51. Подробное задание вышлю лично.
Прикладное ПО4 заявкиЗакрыт15 лет назадИщу помошника для разработки более интелектуальной залинковки keyword phrases к примеру в этом блоге http://costadelnerja-info.blogspot.com/2010/04/summit-holiday-destinations-spain_1879.html можно увидеть работу этого кода надо сделать умнее и луче ...
Прикладное ПО1 заявкаЗакрыт15 лет назад- $100
Обновить SDK библиотеки версии 1.0 до версии 2.0
Прикладное ПО1 исполнительЗавершен15 лет назад