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

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

11.05.2017, 01:30. Показов 30376. Ответов 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
18035 / 7738 / 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
Ответ Создать тему
Новые блоги и статьи
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru