| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Создание цифровой подписи для программы |
| Автор: aktuba 28.6.2007, 11:54 |
| Есть такая проблема - при запуске программы появляется окно-предупреждение, что пользователь хочет запустить файл, подписанный "неизвестным издателем". Как в это окно вписать свои данные? |
| Автор: Alexeis 29.6.2007, 08:59 |
| aktuba, это значит что программе неизвестна подпись текущего файла. У программы должно быть база всех зарегистрированных подписей. Но как это связано с делфи? |
| Автор: MetalFan 29.6.2007, 09:30 |
скорее тогда ОС неизвестна подпись (если она есть вообще) запускаемого файла... з.ы. на сколько я понимаю, aktub'e нужно "подписать" exe-шник, чтобы ОС не ругалась... |
| Автор: aktuba 29.6.2007, 09:32 | ||
Это не к программе даже относиться, а к винде. Для того, чтобы убрать это окно, необходимо купить цифровой сертификат (от 179$ в год) и прописать его в ресурсы программы. За объяснение - спасибо Snowy. |
| Автор: MetalFan 29.6.2007, 10:51 |
ахренеть.... вот мелкомягкие сволочи |
| Автор: aktuba 29.6.2007, 11:14 | ||
Это даже не мягкотелые =))) Это Британская компания. У MS цена выше... Добавлено через 1 минуту и 4 секунды Да и еще: выяснилось, что данная бяка появляется только тогда(!!!), когда файл загружен через IE (аутглюк и компания работают тоже через ie)... Иначе - ничего не появляется... |
| Автор: Rennigth 29.6.2007, 11:19 |
| ммм, какбы так выразиться чтобы не нарушать правила форума. Вообщем есть ли инфа какая-нибудь по формату этой подписи, т.е где храниться(понятно что в ресурсах, но в каком виде, просмоторщики ресурсов их вроде не видят), в каком виде, и какие есть механизмы зашиты этого чуда? Добавлено через 2 минуты и 3 секунды Ну это вроде зависит от настроек винды. Например в 2003 сервере вроде по умолчанию всегда спрашивает. Могу правда что-то путать... |
| Автор: Rennigth 29.6.2007, 11:53 | ||
Спасиб. |
| Автор: aktuba 29.6.2007, 12:36 | ||
Опять-таки, загруженная... Если с одного компа переписать на другой - траблов не будет... Правда, http://www.delphilab.ru/content/view/91/1/, Snowy описал новую проблему для Висты... ну и решение этой проблемы =))))) |
| Автор: Alexeis 29.6.2007, 13:15 | ||
Так я как раз об этом! Но решение совсем не красивое. Называть инсталяторы не своими именами имхо бред. Представь себе название инсталяхи "Program mounter.exe". Кто-то поймет его назначение? Если будет совпадать с названием проги тоже не хорошо, так как будет путаница, что за файл перед тобой инсталяха или сам программа. |
| Автор: aktuba 29.6.2007, 13:32 | ||
Согласен... Но и платить 200$ в год не сильно хочется... Будем надеяться пользователи привыкнут доверять =)))) |
| Автор: Poseidon 29.6.2007, 14:37 |
| Я что-то не пойму что вы тут наобсуждали. Лично в моих прогах ни разу не вылетало такое предупреждение, хотя я его пару раз наблюдал на чужих прогах. Закономерности не могу найти, но то, что я не плачу 200 зеленых в год - это факт! |
| Автор: Snowy 29.6.2007, 14:42 |
| Poseidon, речь идёт об exe, скачанных при помощи IE, либо сохранённых из аутлука. Такие exe автоматом помечаются, как "полученные из ненадёжного источника" (если конечно у них нет заверенной подписи). При каждом запуске таких exe, винда будет ругаться. Выходы: 1. Заплатить за подпись. 2. Утрамбовать в архив - пусть юзер распаковывает. 3. Создать инсталлятор - тогда винда ругнётся только один раз на инсталлятор, а сама прога будет работать без возмущений. |
| Автор: Yanis 29.6.2007, 14:43 |
4. В свойствах файла нажать кнопку «Разблокировать» |
| Автор: Snowy 29.6.2007, 14:47 |
| Это просто выработавшийся условно стандарт. Просто по имени файла юзверь автоматом понимает, что это инсталлятор. Но вполне нормально назвать инсталлятор программы MyProg, например: "MyProg.1.0.12.128.exe". Можно использовать типовые приёмы - использование схожих по написанию символов. Можно разбить, по примеру: "S e t u p .exe" |
| Автор: Alexeis 29.6.2007, 19:57 |
Так на этом и держится популярность и удобство винды. Все равно это будет вызывать подозрение, почему у всех нормально, а тут извращение? Начнут подозревать, а вдруг это вирус который хочет скрыться от винды. Я бы не стал запускать такую инсталяху. |
| Автор: vornic 2.7.2007, 10:57 | ||||
Нет уважаемый не в ресурсах подпись находится а в конце исполняемого файла, естественно в бинарно виде. Я бы очень рекомендовал на этот счет в MSDN заглянуть, рам расписано - к каким файлам можно прикрепить подпись, каким образом подписать файл и пр.
Вы в корне не правы, исполняемые файлы вовсе не шифруются. Подпись крепится в конце файла. Подписывать можно и dll и ocx и даже vbs скрипты. Шифрования тут нет вообще. И кстати, публичный ключь в шифровании применяется для шифрования, а для расшифровки приватный. В цифровой же подписи наоборот. Для проверки подписи нужно наличие корневого сертификата, большинство которых расположено в хранилище винды, если угодно иметь собственную подпись то ничто не мешает пополнить это хранилище своим сертификатом и использовать свою подпись, не обязательно покупать её у "спикулянтов" PS Уж извините за коммент, не удержался. Такие фантазии городите. |
| Автор: Alexeis 2.7.2007, 16:08 | ||
Ну и вы тут тоже себе противоречите. Сначала говорите что шифрования нет вовсе, а потом про порядок использования ключей шифрования в цифровой подписи. Действительно в моем изложении есть одна ошибка. Она состоит в том, что шифруется не сам файл, так как это было бы очень долго, а лишь короткая сводная информация о файле, например хеш файла, в остальном суть та же самая. Нашел вот очень простое и доступное описание
|