Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/141: Рейтинг темы: голосов - 141, средняя оценка - 4.58
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

[Статья] Проверка электронной цифровой подписи Authenticode. Часть 1. Теория

11.05.2017, 01:30. Показов 29859. Ответов 20

Студворк — интернет-сервис помощи студентам


Привет!
Я как-то довольно давно заинтересовался темой цифровых подписей, какова их защита, как они устроены изнутри, как с ними работать из-под CryptoAPI. По мере изучения возникало много подводных камней. Наконец, я готов рассказать и вам на доступном языке о принципах шифрования и подписания, практике и готовой реализации проверки подписей.

Затронуто много косвенных тем, так что статья весьма объёмна. Запаситесь чипсами и пивом . А в перерывах, можете сразу пощупать 3-ю часть статьи, где вас ждёт готовая программа, а также несколько хорошо прокомментированных исходников, в т.ч. для пакетной проверки всех PE-файлов в системе с отчётом в формате CSV. Большинство примеров кода представлено на языке VB6, просто потому что на C++ примеров очень много в сети, а на этом языке подобных комплексных реализаций я не видел вообще, да и этот язык я лучше всего знаю.

Итак, статья состоит из 3 частей:
Часть 1. Теория
Часть 2. Описание реализации
Часть 3. Набор программ (C++ версия)

Содержание:

Часть 1. Кусочек теории.
1.1. Что такое электронная цифровая подпись (ЭЦП) и зачем она нужна?
1.2. Надёжность ЭЦП и эксплуатация вредоносным ПО.
1.2.1. Человеческий фактор и приватные ключи.
1.2.2. Уязвимости в структуре ЭЦП.
1.2.3. Стойкость алгоритма хеша.
1.3. Что означает, легитимна ли подпись?
1.4. Терминология, алгоритм подписания и проверки.
1.4.1. Что такое Authenticode (Code signing).
1.4.2. Что такое хеш.
1.4.3. Что такое выборка (digest).
1.4.4. Что такое приватный и публичный ключи, симметричное и асимметричное шифрование.
1.4.5. Что такое сертификат, центр сертификации и цепочка доверия.
1.4.6. Форматы файлов сертификатов и ключей для Authenticode подписи и их преобразование.
а) Виды форматов.
б) Преобразование форматов.
1.4.7. Что такое подпись и подписание.
1.4.8. Что такое отпечаток (Thumbprint / Fingerprint).
1.4.9. Как проверяется подпись.
1.4.10. Чем отличаются понятия «алгоритм подписи», «алгоритм хеша подписи», «алгоритм хеша выборки», «алгоритм хеша отпечатка».
1.5. Само-подписанный (self-signed) сертификат.
1.6. Двойная (вторичная) подпись.
1.7. Способы подписания
1.8. Перечисление сертификатов в хранилище
1.9. Удаление подписи.
1.10. Покупка сертификата.
Часть 2. Описание реализации программы проверки подписей
2.1. Подготовка к проверке
2.2. Запуск процедуры проверки и обработка результатов
2.3. Очистка ресурсов.
2.4. Извлечение сертификатов и содержащейся в них информации
2.5. Извлечение атрибутов и крос-подписей
Часть 3. Программа проверки Authenticode ЭЦП
- Назначение
- Совместимость / Требования
- Примеры использования / Флаги и дополнительная информация
Заключение
Приложения и исходные коды
Дополнительная литература
5
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2017, 01:30
Ответы с готовыми решениями:

[Статья] Проверка электронной цифровой подписи Authenticode. Часть 3. Набор программ
Это продолжение. См. также другие части этой статьи: Часть 1. Кусочек теории. Часть 2. Описание реализации программы проверки...

[Статья] Проверка электронной цифровой подписи Authenticode. Часть 2. Описание реализации
Это продолжение. См. также другие части этой статьи: Часть 1. Кусочек теории. Часть 3. Программа проверки Authenticode ЭЦП ...

Проверка электронной цифровой подписи
Подскажите как прописать в скрипте проверку подписи, есть скрипт который отправляет подписанный и зашифрованный файл на почту, надо чтобы...

20
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
07.12.2020, 23:12  [ТС]
Студворк — интернет-сервис помощи студентам
Старые драйверы для Windows 10 перестанут работать в первой половине 2021 года
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2020, 23:12
Помогаю со студенческими работами здесь

Постановка и проверка электронной цифровой подписи в Word
нужно реализовать процедуру постановки и проверки электронной цыфровой подписи в Word,желательно на С++

Покупка цифровой подписи Authenticode (подпись софта)
Кто-нибудь покупал сертификат ЭЦП для подписи кода ближайший год? Через какого партнера сейчас выгодно покупать? И главный вопрос -...

Считывание электронной цифровой подписи
Доброго времени суток. Ребята, пишу диплом, одна из составных - проверка электронно цифровой подписи. Когда создаю подпись и сразу ее...

Создание электронной цифровой подписи
Здравствуйте. Подскажите, пожалуйста, как реализовать создание и проверку электронной цифровой подписи для файлов с помощью алгоритма RSA и...

Алгоритм построения электронной цифровой подписи ЭльГамаля
Какую роль играет ЭЦП(электронная цифровая подпись) в обмене информацией? Что такое хэш-функция и какую роль она играет в решении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru