Як підписати exe цифровим підписом безкоштовно?
SignMachineW32 – Програма для електронного підпису документів зі штампом часу та перевірки підпису. Вміст сайту оновлено 09.11.2023 (додана програма PDFA).
Нова версія програми підтримує штампи часу.
Програма SignMachineW32.exe призначена для електронного підпису документів
відповідно до вимог Російського законодавства.
За допомогою звернення до сертифікованого криптопровайдера програма забезпечує
юридичну значимість електронних документів у вигляді використання процедур формування та перевірки
електронного підпису (ЕП) відповідно до вітчизняних стандартів
ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 (з використанням ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012 для хешування);
Використовується кваліфікований сертифікат електронного підпису (виданий одним з акредитованих Мінкомзв'язку Росії
посвідчуючим центром) або некваліфікований (наприклад, виданий на сайті ФНП Росії в особистому кабінеті фізичної особи).
Сертифікат ви повинні вже мати, якщо бажаєте скористатися програмою.
Вигляд створюваної програмою підписів CADES-BES, CADES-T та CADES-T доповнений штампом часу на вміст документа.
Додатково про це можна прочитати на сторінці сайту компанії КриптоПро.
Оскільки вид робіт (криптографічний захист інформації) вимагає спеціального ліцензування.
то для операцій підпису та її перевірки використовуються сертифіковані криптопровайдери:
КриптоПро CSP або ViPNet CSP.
Хоча б один із яких має бути встановлений на вашому комп'ютері.
Інформація про отримання ViPNet CSP на сайті виробника Infotecs
На момент написання цієї статті криптопровайдер ViPNet CSP поширюється безкоштовно, вимагає реєстрації.
Інформація про придбання або отримання пробної 90-денної версії
КриптоПро CSP тут на сайті КриптоПро.
Якщо у вас є сертифікат електронного підпису, можливо, один з цих програмних продуктів вже придбано і встановлено.
Декілька слів про штампи часу.
Навіщо вони потрібні?
По-перше, при використанні штампу часу з'являється довірена дата підписання документа.
По-друге, наявність штампу часу подовжує термін перевірки електронного підпису.
По-третє виключає таку ситуацію:
Наприклад: Маємо сертифікат підпису термін дії якого з 01.01.2018 до 01.01.2019
Два документи було підписано цим сертифікатом.
Перший документ підписаний без штампу часу 01.02.2018, коли сертифікат підпису був дійсним.
Другий документ підписано без штампу часу 30.03.2019, коли сертифікат вже був простроченим.
Відправник стверджує, що обидва документи були підписані одночасно.
Одержувач перевіряє підпис у простий спосіб (CADES-BES) не може нічого впевненого сказати
щодо істинності затвердження відправника про час підписання та головне про те, що на момент
підписання сертифікат підпису був дійсним.
Використання штампу часу та його перевірка дозволяють вирішити цю ситуацію.
Тепер про те, як користуватися програмою SignMachineW32.exe:>
Програма запускається в операційній системі Windows.
Сумісна з більшістю версій Windows після XP.
Так само може бути запущена на термінал сервері, що дає можливість використовувати один
ключ з кількох робочих місць не переставляючи їх у різні комп'ютери. І можна заощадити на ліцензіях.
Виконуваний файл програми SignMachineW32.exe – власне утиліта підписання та перевірки підпису.
Може використовуватися самостійно для запуску з командного рядка та подібним же
чином вбудовуватись у програмні продукти.
Установка програми проста – достатньо скопіювати файли SignMachineW32.exe та OPFD.exe у потрібну вам папку.
Запустіть програму кліком на файл SignMachineW32.exe.
Після запуску програма показує вікно вибору операції:
- Підписати документ відокремленим від документа підписом.
В даному варіанті у перевіряючого, згодом ваш підпис, повинні бути два файли.
Незмінений файл документа та окремий файл підпису.
Це буває зручно, оскільки файл документа, що передається, залишається в незмінному вигляді
та його можна прочитати навіть не маючи програми перевірки підпису. - Підписати документ, впроваджений у документ підписом.
У цьому випадку документ та підпис знаходяться в одному файлі.
І той, хто отримує його, повинен мати програму перевірки підпису, щоб відкрити документ. - Перевірити підпис у варіанті відокремленого від документа підпису.
- Перевірити підпис впроваджений у документ
- Додати штамп часу на підпис до чужого підпису, що не має штампу часу.
- Вказати адресу сервера штамп часу.
Для підпису документа виберіть файл документа у цьому вікні, натиснувши кнопку "Огляд":
Під час створення відокремленого електронно-цифрового підпису програма зберігає підпис в окремому від документа файлі
таке ж найменування як файл документа з додаванням наприкінці "sig"
При створенні впровадженого підпису програма зберігає документ із впровадженим підписом у файл має
таке ж найменування як файл документа з додаванням наприкінці "sig"
Якщо вибрано документ, натисніть "Далі".
відкриється вікно з вибором сертифіката, рядком з інформацією про сертифікат (серійний номер та термін дії),
рядком результату та звіту про роботу програми.
На вікні вище стрілочками з номерами позначені:
1. Рядки з ім'ям суб'єкта сертифіката з локального сховища. Вам потрібно обрати свій діючий сертифікат.
2. Якщо вибрано сертифікат зі списку в цьому рядку, з'явиться коротка додаткова інформація про сертифікат.
3. Кнопка "Переглянути сертифікат". Натискання цієї кнопки дозволяє розглянути вибраний сертифікат докладніше.
4. Кнопка "Вибрати сертифікат(и). Натискання цієї кнопки додає сертифікат підпису, яким буде підписано повідомлення.
Можна додавати кілька підписів.
5. Тут ви побачите звіт про проставлення попису та кінцевий результат роботи наприклад "ДОКУМЕНТ УСПІШНО ПІДПИСАН"
6. Тут ви побачите почерк про проставлення штампу часу на вміст документа.
7. Тут ви побачите звіт про проставлення штампу часу на підпис документа.
8. Віконце в яке виводиться різна додаткова службова інформація про роботу програми.
9. Кнопки "Підписати" та "Закрити вікно" говорять самі за себе.
"Підписати" стає активним після вибору хоча б одного сертифіката.
У віконці вище показаний приклад, що буде якщо вибравши в списку (позначеному 1) сертифікат натиснути
кнопку 2 "Переглянути сертифікат". Відкривається стандартне вікно перегляду сертифіката підпису.
Для виконання операції підписання потрібно вибрати сертифікат кнопкою "Вибрати сертифікат(и)". Добавка "(и)" не означає, що можна за раз вибрати кілька сертифікатів а просто підказує що
можна поставити кілька підписів. Вибираючи їх по черзі.
В віконці вище ви бачите результат натискання кнопки "Вибрати сертифікат"
В обведеному регіоні можна бачити інформацію про додавання сертифіката та перевірку його на допустимість використання.
При натисканні на кнопку "Підписати" до документа спочатку додається штамп часу на вміст.
Потім вискакує стандартне для криптопро віконце введення пароля для ключа підпису.
У вікні вище ви бачите результат підпису. Стрілками в віконцях відмічені повідомлення про результат додавання
підпису та штампів часу. Одна із стрілок показує наявність смуги прокручування полів виведення результату.
Інформація в полі може бути більшою, ніж видно. Потрібно прокрутити поле щоб подивитися все.
ПЕРЕВІРКА ПІДПИСИ.
Для перевірки підпису документа виберіть файл документа у наступному вікні, натиснувши кнопку "Огляд":
Якщо підпис відокремлений, то в рядку нижче з'явиться таке ж найменування файлу підпису але з закінченням ".sig".
Ви можете вибрати файл, який має інше закінчення (розширення) з відокремленим підписом за допомогою кнопки, позначеної стрілкою 2.
Потім натискайте "Далі".
З'явиться вікно:
Натиснути "Перевірити підпис"
Після закінчення перевірки дивимось результат
Поле "Звіт про підпис" забарвилося в зелений колір – це ознака, що підпис перевірився без помилок.
У рядку позначеної стрілкою 1 напис "ПІДПИС МАТЕМАТИЧНО КОРЕКТНИЙ" означає, що підпис перевірився,
але можлива ситуація коли підпис зроблений сертифікатом із минулим терміном тому варто звернути
увагу і на те, що написано в інших рядках см стрілки 2 і 7.
Стрілки 3 та 7 повідомляють про результат перевірки штампу часу на вміст.
Стрілка 4 показує рядок з датою та часом отримання штампу на вміст.
Увага! Час у штампі у форматі всесвітній координований час UTC.
Якщо потрібно дізнатися час Московський, то необхідно перевести цей час з урахуванням сезонних та інших зрушень.
Стрілки 5,6 і 7 показують інформацію про результати перевірки штампу часу на підпис.
Під час перевірки, впровадженої в документ підпису, після виконання перевірки вихідний підписаний документ вилучається
та записується у файл з назвою як у вихідного документа, але без фінального розширення.
Якщо файл із впровадженим підписом був без розширення, то, навпаки, до витягнутого документа
додається розширення ".xtr"
Приклад А: Документ із впровадженим підписом називався – "тренування.txt.sig"
після перевірки підпису у папці з документом з'явиться документ – "тренування.txt"
Приклад Б: Документ із впровадженим підписом називався – "тренування"
після перевірки підпису в папці з документом з'явиться документ "тренування.xtr"
У випадку Б для того, щоб документ відкрити в додатку, вам доведеться самим вгадувати правильне.
розширення файлу або запитати відправника.
ДОДАВАННЯ ШТАМПУ ЧАСУ НА ПІДПИС.
Як згадувалося вище, штамп часу для документа, який підписаний не вами, можна додати тільки на підпис.
Тому що вміст разом із штампом часу на нього вже пописано відправником і неможливо додати
до вмісту штамп не втративши при цьому підпис відправника.
Щоб зупинити штамп, виберіть документ і файл відокремленого підпису як і в розділі ПІДПИС
Якщо додаєте штамп для впровадженого в документ підпису, виберіть документ із впровадженим підписом
у полі "виберіть документ для додавання штампу часу" цього ж вікна та натисніть "Далі".
Коли ж відкриється вікно, показане нижче:
Натисніть кнопку стрілки 1.
Результат додавання штампу дивіться, де стрілка 2.
Закриваємо вікно.
Щоб подивитися, як додався штамп часу, і який час можна виконати операцію перевірка підпису.
ВСТАНОВЛЕННЯ АДРЕСИ СЕРВЕРУ ПРОВАЙДЕРУ ШТАМПА ЧАСУ.
Після натискання кнопки "Вказати адресу сервера штампу часу" у першому вікні вибору операцій.
Відкриється наступне віконце:
У якому в рядку позначеної стрілкою 1 ви можете вказати адресу потрібного вам сервера часу, що дає штампи.
Поле зміни адреси натисніть кнопку "Встановити" позначену стрілкою 2.
Якщо якась політика не диктує вам використання штампу часу конкретного УЦ
найкращим варіантом буде сервер, який має сертифікат з великим терміном дії.
Перевірити термін дії сертифіката сервера ви можете, встановивши його адресу і потім підписавши та перевіривши підпис
для пробного документа Під час перевірки відобразиться сертифікат сервера штампу часу. Виділивши його зі списку, натисніть
"переглянути сертифікат" та зверніть увагу на термін дії.
З перерахованих у вікні програми серверів на момент написання цього тексту такий сертифікат у сервера компанії "КріптоПро".
Ця адреса встановлена у програмі за промовчанням.
Тепер інформація для тих хто програму запускатиме з командного рядка:
Приклади запуску програми SignMachineW32.exe з командного рядка:
Приклад підпису файлу відокремленим підписом:
SignMachineW32.exe sign detached filetosign signature
де filetosign шлях і ім'я файлу, що підписується,
signature – ім'я файлу в якому лежатиме відділений підпис, включаючи сертифікат з відкритим ключем підписувача.
відправляєте кореспондентові обидва файли filetosign і signature.
Приклад перевірки відокремленого підпису:
SignMachineW32.exe verify detached signedfile signature
де signedfile – ім'я підписаного файлу,
signature – ім'я файлу, в якому лежить відокремлений підпис, включаючи сертифікат з відкритим ключем підписувача.
Приклад підпису файлу вбудованим підписом:
SignMachineW32.exe sign attached filetosign signedfile
де filetosign шлях і ім'я файлу, що підписується,
signedfile – ім'я підписаного файлу з увімкненим підписом та сертифікатом з відкритим ключем підписувача.
Відправляєте кореспондентові один файл signedfile.
Приклад перевірки вбудованого підпису:
SignMachineW32.exe verify attached signedfile
де signedfile – ім'я підписаного файлу, що включає документ, підпис та сертифікат з відкритим ключем підписувача.
Приклад додавання штампу часу на відокремлений підпис:
SignMachineW32.exe addstamp detached signedfile.txt signedfile.txt.sig
де signedfile – ім'я підписаного файлу,
signedfile.txt.sig – ім'я файлу відокремленого підпису. >
Приклад додавання штампу часу на впроваджений підпис:
SignMachineW32.exe addstamp detached signedfile.txt.sig
де signedfile.txt.sig – ім'я підписаного файлу з впровадженим підписом,
У разі успішного підпису або успішної перевірки підпису програма після завершення повертає 0 та -1 у разі неуспіху. Проставлення штампів часу залежить від попередньо проставлених галочок у віконному інтерфейсі програми.
розробник програми Олександров Валерій м.Петрозаводськ UA
Windows 10, 8.1 і Windows 7 дозволяють вимкнути обов'язкову перевірку цифрового підпису драйверів та встановити непідписаний драйвер, проте якщо в останніх версіях ОС це потрібно зробити на постійній основі, зміна опцій за допомогою bcdedit не допомагає. Однак, може допомогти самостійний підпис драйвера та його наступна установка, про що й поговоримо.
У цій інструкції докладно про те, як самостійно підписати драйвер для Windows 10, 8.1 або Windows 7 x64 або 32-біт (x86) для подальшої установки в системі на постійній основі без відключення перевірки цифрового підпису драйверів, уникнувши при цьому помилок на кшталт INF стороннього виробника не містить інформації про підпис».
Що потрібно для підпису драйвера
Для того, щоб виконати всі описані далі кроки, завантажте та встановіть наступні інструменти із сайту Майкрософт:
- Microsoft Windows SDK for Windows 7 https://www.microsoft.com/en-us/download/details.aspx?id=8279
- Windows Driver Kit 7.1.0 https://www.microsoft.com/en-us/download/details.aspx?id=11800
З першого набору достатньо буде встановити Tools, з другого (є ISO-образ з установником, з якого потрібно запустити KitSetup.exe) – вибрати Build Environments і Tools.
Зверніть увагу: це не останні версії наборів інструментів, але вони однаково підійдуть для самостійного підпису драйверів для подальшого встановлення у всіх ОС від Windows 10 до Windows 7, при цьому в інструкції не потрібно вдаватися до деяких додаткових нюансів.
Процес самостійного підпису драйвера
У процесі для того, щоб підписати драйвер самостійно, нам потрібно: створити сертифікат, підписати драйвер цим сертифікатом, встановити сертифікат у системі та встановити драйвер. Почнемо.
- Створіть у корені диска C якусь папку (так до неї простіше буде звертатися надалі), наприклад, C:\cert, де ми будемо працювати з сертифікатами та драйверами.
- Запустіть командний рядок від імені адміністратора (потрібні для 18 кроків). Далі використовуємо такі команди по порядку. Файли драйвера поки не потрібні. Під час виконання другої команди вас попросять ввести пароль, я використовую password у вікні запиту і далі в командах, ви можете використати свій.
cd "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin"
makecert -r -sv C:\cert\driver.pvk -n CN="remontka" C:\cert\driver.cer
cert2spc C:\cert\driver.cer C:\cert\driver.spc
pvk2pfx -pvk C:\cert\driver.pvk -pi password -spc C:\cert\driver.spc -pfx C:\cert\driver.pfx -po password
cd C:\WinDDK\7600.16385.1\bin\selfsign\
inf2cat.exe /driver:"C:\cert\drv" /os:7_X64 /verbose
cd "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin"
signtool sign /f C:\cert\driver.pfx /p password /t http://timestamp.verisign.com/scripts/timestamp.dll /v C:\cert\drv\catalog.cat
certmgr.exe -add C:\cert\driver.cer -s -r localMachine ROOT certmgr.exe -add C:\cert\driver.cer -s -r localMachine TRUSTEDPUBLISHER
І ось тепер можна закрити командний рядок і встановити драйвер з папки C:\cert\drv за допомогою диспетчера пристроїв, або натиснувши правою кнопкою по файлу .inf і вибравши пункт "Встановити". Потрібно підтвердити встановлення драйвера у вікні «Не вдалося перевірити видавця цих драйверів» — натиснути «Все одно встановити цей драйвер».
Зверніть увагу, що можливі помилки в диспетчері пристроїв, що відображаються для пристрою з самостійно підписаним драйвером зазвичай не стосуються безпосередньо процесу підпису (така ж помилка для них з'являтися і без підпису, при простому відключенні перевірки цифрового підпису драйверів в особливих варіантах завантаження).Тобто. шукати причину в цьому випадку потрібно чимось ще й читати докладну інструкцію з використання драйвера (наприклад, у випадку драйверів для FlashTool).
А раптом і це буде цікаво:
- Найкращі безкоштовні програми для Windows
- Як заблокувати інсталяцію та видалити Outlook New у Windows 11 та 10
- Брандмауер захисника Windows заблокував деякі функції цієї програми – що робити?
- На вибраному диску знаходиться таблиця MBR-розділів при встановленні Windows 11 і 10 – рішення
- Помилка 0x800f0835 при оновленні Windows 10 або 11 – як виправити?
- Як прибрати значок «Додаткові відомості про це зображення» зі шпалер Windows
- Windows 11
- Windows 10
- Android
- Завантажувальна флешка
- Лікування вірусів
- Відновлення даних
- Установка з флешки
- Налаштування роутера
- Все про Windows
- У контакті
- Однокласники
- Nazer92 10.01.2021 о 13:40
Дякуємо за інструкцію, є веб-сайт A4Tech PK-52MF драйвера на х64 не ставляться (хоча з диска в комплекті) робив поетапно, зіткнувся з помилкою, була на :
signtool sign /f C:\cert\driver.pfx /p password /t http://timestamp.verisign.com/scripts/timestamp.dll /v C:\cert\drv\catalog.cat
«SignTool Error: Відсутній внутрішній error має випадок.
Error information: "SignerTimeStamp() failed." (-2147012865/0x80072eff)»
Замінив на
http://timestamp.globalsign.com/scripts/timstamp.dll
У кого виходить помилка на останньому кроці «SignTool Error: Відсутня вимога до внутрішнього error.
Error information: "SignerTimeStamp() failed." (-2147012865/0x80072eff)»
Використовуйте інші URL-адреси в команді, наприклад у мене спрацював перший. Nazer92 помітив правильно, але запропонований варіант не працює
http://tsa.starfieldtech.com http://timestamp.globalsign.com/scripts/timstamp.dll http://timestamp.comodoca.com/authenticode http://www.startssl.com/timestamp http:// timestamp.verisign.com/scripts/timstamp.dll
http://timestamp.comodoca.com/authenticode
inf2cat.exe /driver:"C:\cert\drv" /os:7_X64 /verbose
C:\WinDDK\7600.16385.1\bin\selfsign>inf2cat.exe /driver:"C:\cert\drv" /os:7_X86 /verbose
inf2cat.exe /driver:"C:\cert\drv" /os:7_X86 /verbose
=Standard,NTx86,NTAMD64
http://timestamp.comodoca.com/authenticode
Цифровий підпис призначений для того, щоб вказати автора програми та показати, що ця програма або файл не було змінено іншими особами. Якщо хтось спробує модифікувати підписану програму, то цифровий підпис відразу стає недійсним. Це головне призначення цифрового підпису.
Друга перевага підписаних програм та інсталяцій полягає в тому, що антивірусні програми більш лояльно відносяться до підписаних програм. Хибні спрацьовування та необґрунтовані попадання до карантину у підписаних програм зустрічаються рідше.
Також порівняйте повідомлення, які показує UAC під час запуску підписаної та непідписаної інсталяції. Повідомлення для підписаної інсталяції викликає більше довіри користувача.
Як отримати цифровий підпис
Цифровий підпис можна придбати у спеціальних організацій. Наприклад, Comodo, Verisign (Symantec). Сертифікат можна придбати як на один рік, так і кілька років. Ціни починаються від $100-150 за один рік, але через партнерів можна купити сертифікат дешевше. Наприклад, KSoftware, як стратегічний партнер Comodo, продають сертифікати за $95 на рік і є знижки при його покупці на кілька років. Після того, як ви здійснили оплату, співробітники відповідної організації переконаються, що ви є саме тією особою або організацією на чиє ім'я видається цифровий підпис. Коли всі дані перевірені, вам буде надано посилання, за яким ви завантажите сертифікат в Internet Explorer і потім вам потрібно зберегти його у вигляді файлу з розширенням .pfx, також у вас повинен бути пароль, який ви вказували при формуванні заявки на сертифікат.
Як підписувати програми за допомогою цифрового підпису
Для підписування програм можна використовувати безкоштовну утиліту signtool.exe від компанії Microsoft. Запуск із командного рядка з приблизно такими параметрами підпише вашу програму myapp.exe: signtool.exe sign /a /f "c:\docs\sertificate\mysign.pfx" /p mypassword /t http://timestamp.comodoca.com/authenticode "c:\my application\myapp.exe".
Крім цього, існує безкоштовна програма kSign від ksoftware.net із віконним інтерфейсом та із запуском з командного рядка. Нижче ви можете подивитись скріншоти цієї зручної утиліти. Вона не вимагає signtool.exe, signcode.exe та будь-яке інше Microsoft SDK.
Як підписувати інсталяції в інсталяторі CreateInstall
Звичайно, можна самостійно підписувати інсталяції створені CreateInstall, але краще автоматизувати цей процес.До того ж, наш інсталятор дозволяє підписувати uninstall.exe і update.exe, які потім розпаковані при установці вашої програми на комп'ютер користувача. Розглянемо наступне рішення з використанням утиліти kSignCMD.exe, яка входить до програми kSign. Створіть файл .bat приблизно наступного змісту і збережіть його в секретному місці. Найголовніше, щоб він був доступний у момент збирання вашого дистрибутива. [pfxfile] замініть на повний шлях до вашого .pfx файлу, а [password] замініть на пароль. Команда pause потрібна, щоб ви могли вчасно виявити помилку, яка може виникнути під час спроби підписати програму. З іншого боку, через цю команду вам доведеться натискати якусь клавішу для продовження процесу створення дистрибутива.
"C:\Program Files (x86)\kSign\kSignCMD.exe" /f "[pfxfile]" /p [password] %1 %2 %3 %4 %5 pause
Зараз відкрийте ваш проект у CreateInstall та перейдіть до закладки Проект – сторінка Setup Builder. У полі Application for Code Signing вкажіть повний шлях до створеного нами файлу .bat. Він буде запускатися, коли потрібно підписати програму. Далі вкажіть параметри для підписування дистрибутива, деінсталятора та програми перевірки оновлень. Першим параметром має бути визначено загальне найменування програми, а другим , який буде автоматично замінений на повний шлях до програми, що підписується. Наприклад, значення можуть бути такими:
Parameters for Signing of Installation File: Setup "" Parameters for Signing of Uninstaller File: Uninstall " " Parameters for Signing of Updater File: Update " "
В даному випадку, CreateInstall викличе наш .bat файл для підписування установки, деінсталятора та програми оновлення, якщо ви включаєте її у свій проект.
Дивіться також
- Довідкова інформація
- Вступ
- Перше знайомство
- Порівняння інсталяторів
- Ліцензійна угода
- Ліцензія Light
- Ліцензія Free
- Можливості програми
- Список команд
- FAQ
- Глобальні змінні
- Як використовувати змінні середовища
- Як визначити Control ID
- Як підписати інсталяцію
- Як створювати ярлики
- Локальні змінні
- Переносна версія
- Встановлення 64-bit додатків
- Хибні спрацьовування антивірусів
- Фільтр розпакування
- Запуск із командного рядка
- Як рухати контролі
- Як використовувати Умову
- Мультизбірка установок
- Загальні параметри діалогів
- Змінні залежні від мови
- Змінні параметри діалогів
- Зумовлені директорії
- Зумовлені змінні
- Функція-обробник діалогів