Политика подписи кода¶
Бесплатная подпись кода предоставлена SignPath.io, сертификат — SignPath Foundation.
Что подписывается¶
Файлы выпуска для Windows со страницы Releases:
ModbusReader-Setup.exe— установщик;ModbusReader.exeиModbusReader_debug.exe— портативные версии;- внутри установщика — сама программа и запускающий её
ModbusReader.exe.
Подписываются только файлы, собранные из исходного кода репозитория ModbusReader. Библиотеки других проектов, которые входят в сборку (Python, Qt и другие — см. THIRD_PARTY_LICENSES.md), этой подписью не подписываются. Сборки для Linux и macOS не подписываются.
Подписаны выпуски, собранные после подключения подписи; у более ранних вкладки «Цифровые подписи» в свойствах файла нет.
Как получается подписанный файл¶
- Выпуск — это тег
vГГ.ММ.Nв репозитории. - Файлы собирает GitHub Actions из исходного кода этого тега
(
.github/workflows/build.yml), а не компьютер разработчика. - SignPath проверяет, что файлы получены именно этой сборкой из этого репозитория, и подписывает их только после того, как запрос вручную утвердил ответственный за выпуски.
Закрытый ключ сертификата хранится у SignPath в аппаратном модуле (HSM): у разработчиков программы его нет, и подписать им что-то в обход сборки нельзя.
Кто отвечает¶
| Роль | Участники |
|---|---|
| Авторы и рецензенты кода | Mercurrial |
| Утверждают подпись выпусков | Mercurrial |
Изменения от других участников (pull request) попадают в код только после проверки рецензентом. У всех, кто указан в таблице, включена двухфакторная аутентификация на GitHub и в SignPath.
Как проверить подпись¶
Щёлкните файл правой кнопкой мыши → «Свойства» → «Цифровые подписи». В списке должна быть подпись SignPath Foundation, а кнопка «Подробно» покажет «Эта цифровая подпись действительна».
То же в PowerShell:
Status должен быть Valid. Если подписи нет или Windows пишет, что она
недействительна, не запускайте файл и
сообщите об этом.
Для совсем новой версии Windows SmartScreen может ещё какое-то время показывать предупреждение, пока у неё мало скачиваний; издателем в нём будет указан SignPath Foundation. Что делать — в разделе Установка.
Конфиденциальность¶
Программа не передаёт никаких сведений другим компьютерам в сети, если об этом не попросил пользователь или тот, кто её устанавливает и настраивает. Единственное, что она делает сама, — проверяет обновления:
- при запуске и раз в несколько часов программа запрашивает у GitHub
(
api.github.com) сведения о последнем выпуске, а если вышла новая версия — скачивает её файл с GitHub. В запросе передаётся только номер версии программы; GitHub, как любой сайт, видит IP-адрес компьютера. Как GitHub обращается с этими данными, описано в его заявлении о конфиденциальности; - проверку можно выключить: «Настройки» → «Общие» → «Обновления», переключатель «Обновлять автоматически».
Всё остальное — подключение к прибору по Modbus TCP, поиск приборов в сети сканером, открытие страниц в браузере — программа делает только по команде пользователя. Телеметрию, статистику использования и отчёты об ошибках она не отправляет.