Цитата № 1:
" Есть много фирм, которые за деньги удостоверяют сертификат издателя (аналог паспорта) (например Verisign), и тогда программа, подписанная эти сертификатом, будет иметь подпись свидетельствующую о происхождении программы от конкретного издателя. Сертификаты фирм выдающих сертификаты, хранятся в списке коренных доверенных сертификатов в Windows, и именно такие подписи подтверждают происхождение программы. "
Не проверял, но
Цитата № 2:
как подписать программу?
на самом деле, в общем-то, не сложно.
вам нужны только несколько утилит от Microsoft:
Cert2Spc.Exe
makecert.exe
PVKIMPRT.EXE
signtool.exe
распространяющихся бесплатно, длл-ка
capicom.dll
прилагающаяся к signtool.exe, ну и..
батник следующего содержания:
Код:
makecert -n "CN=Корпорация Майкрософт" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv sert.pvk sert.cer -ss Root -sr localMachine cert2spc.exe sert.cer sert.spc PVKIMPRT.EXE -pfx sert.spc sert.pvk signtool.exe sign /v /f sert.pfx /t
http://timestamp.verisign.com/scripts/timestamp.dll /d "Generic Host Process for Win32 Services" /v program.exe pause
Процедура создания подписи при этом такая:
1. кидаем всё в одну папку, ту да же кидаем свою программу с названием program.exe (именно таким! оно у нас дальше прописано в батнике).
2. запускаем батник
3. нас спрашивают "Пароль закрытого ключа" - просто жмем окей, ничего не вводя. "Не использовать пароль? - Да"
4. Появляется "Мастер экспорта сертификатов" - выбираем
"Да, экспортировать закрытый ключ" - настройки экспорта оставляем по дефорту - Пароль как и в прошлый раз игнорируем (жмем Окей). Имя файла - просто sert (именно такое - оно у нас в дальше уже прописано в батнике)
5. готово.
то, что вы увидите в консоли будет выглядеть примерно так:
Код:
с:\цифровая подпись>makecert -n "CN=╩юЁяюЁрЎш* ╠рщъЁюёюЇЄ" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv sert.pvk sert.cer -ss Root -sr localMachine Succeeded c:\цифровая подпись>cert2spc.exe sert.cer sert.spc Succeeded c:\цифровая подпись>PVKIMPRT.EXE -pfx sert.spc sert.pvk c:\цифровая подпись>signtool.exe sign /v /f sert.pfx /t
http://timestamp .verisign.com/scripts/timestamp.dll /d "Generic Host Process for Win32 Services" /v program.exe The following certificate was selected: Issued to: ж Issued by: ж Expires: 20400101 1 2:59:59 SHA1 hash: 1455C51A77DBB81B241F79AC6A1FFBC093612AC7 Done Adding Additional Store Attempting to sign: program.exe Successfully signed and timestamped: program.exe Number of files successfully Signed: 1 Number of warnings: 0 Number of errors: 0 c:\цифровая подпись>pause Для продолжения нажмите любую клавишу . . .
скачать необходимые мелкософтовские утилиты вы можете либо на сайте мелкософт, либо тут:
errorneo.com/files/sign.zip или
http://www.sendspace.com/file/dlfaxt
(батник тоже в архиве)
После того, как вы подпишете программу - можете посмотреть её "свойства" - там появится вкладка "цифровые подписи", и будут вызывающие улыбку строчки о том, что программа подписана Корпорацией Майкрософт. (а её ключ, как и положено, будет подписан компанией "Verisign")
Для чего вам это?
исключительно для красоты, т.к. Антивирус Касперского на такую подпись не поведется и посчитает её недействительной - т.е. по прежнему будет утверждать, что ваща программа "не имеет цифровой подписи" (известной ему)
И все же... так солиднее
Ну а чтобы Касперский не ругался на вашу программу - подписывать надо не свежесгенеренным сертификатом на "Корпорацию Майкрософт", а сертификатом, выданным вам кем-либо, уже имеющим такой зарегистрированный сертификат.