top of page

Безкоштовний підпис коду для відкритих проєктів: наша заявка до SignPath 🔏

Фото автора: Marcel Dütscher
Marcel Dütscher
12 лип.
Читати 2 хв

Хто встановлював нашу гру на Windows, можливо, знає цей момент: «Windows захистила ваш ПК» — SmartScreen попереджає про «невідомого видавця», і спершу доводиться натиснути «Докладніше → Все одно виконати». Це не вірус; просто наші інсталятори ще не підписані. Ми хочемо позбутися цього попередження — не купуючи дорогого сертифіката.


Проблема із сертифікатами підпису коду. Сертифікат видавця для Windows (OV або EV) коштує грошей щороку, часто вимагає перевірки компанії та апаратного токена. Для комерційної студії — одна стаття витрат серед багатьох. Для сімейного open-source проєкту — справжня перешкода, до того ж якась неправильна: ми ж прозорі, увесь вихідний код відкритий.


Рішення: SignPath Foundation. SignPath безкоштовно надає підпис коду відкритим проєктам. Саме на це ми й подали заявку. Поки що нічого не схвалено — розгляд триває, — але підготовка була настільки повчальною, що нею варто поділитися. Якщо ви хочете підписати власний OSS-проєкт, ось що довелося зробити нам.


1. Передумови. Публічний репозиторій, ліцензія, визнана OSI (у нашому випадку AGPL-3.0), опубліковані релізи з помітною активною розробкою та документацією — і — обов'язково: двофакторна автентифікація на акаунті GitHub. Трохи репутації проєкту теж допомагає: вебсайт, відео, кілька зірок.


2. Політика підпису коду (найважливіша частина). SignPath хоче точно знати, як у вашому проєкті відбувається підписування. Тому ми додали до репозиторію файл CODE_SIGNING.md, де чітко сказано: який репозиторій офіційний, які артефакти підписуються, що підписує лише CI-процес релізу (ніколи не локальна збірка на чиємусь ноутбуці), хто схвалює релізи — і посилання на політику конфіденційності. Цей пункт — серце заявки.


3. Сторінка завантаження має згадувати SignPath. Форма просить «URL для завантаження» — сторінку, де згадано SignPath. Для цього ми переписали повідомлення про безпеку в нашому README. Нам було важливо бути чесними: поки нічого не підписано, там прямо сказано, що підпис зараз налаштовується — жодних обіцянок, які ще не відповідають дійсності.


4. Справжня політика конфіденційності. Якщо ваше програмне забезпечення обробляє дані — у нас це звіти про збої та акаунти гравців, — потрібна справжня політика конфіденційності за GDPR, а не заглушка з конструктора сайтів.


5. Надсилання. Заповніть форму (репозиторій, домашня сторінка, URL завантаження та конфіденційності, один рядок про проєкт, репутація, система збірки = GitHub Actions), поставте потрібні галочки, надішліть.


Тепер чекаємо: розгляд ручний, зазвичай один–два тижні, можливо з уточнювальними запитаннями. Якщо заявку схвалять, ми вбудуємо крок підпису в наш CI-конвеєр — і тоді попередження SmartScreen зникне для всіх, хто завантажує гру. Щойно отримаємо відповідь, буде частина 2 з конкретною інтеграцією в CI.


Тримайте за нас кулачки. 🤞

Останні пости

Дивитися всі
Чому нова версія називається 2026.7.19, а не 0.9.2 🗓️

Хто оновлюється сьогодні, перестрибує з версії 0.9.1 на 2026.7.19. Це схоже на помилку друку, але це навмисне рішення: ми змінили схему версіонування, від «семантичних» версій до версій за датою (рік.

 
 

Коментарі


Коментування цього посту більше не доступне. Зверніться до власника сайту, щоб дізнатися більше.
bottom of page