Перейти к содержанию

Политика подписи кода

Бесплатная подпись кода предоставлена 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 не подписываются.

Подписаны выпуски, собранные после подключения подписи; у более ранних вкладки «Цифровые подписи» в свойствах файла нет.

Как получается подписанный файл

  1. Выпуск — это тег vГГ.ММ.N в репозитории.
  2. Файлы собирает GitHub Actions из исходного кода этого тега (.github/workflows/build.yml), а не компьютер разработчика.
  3. SignPath проверяет, что файлы получены именно этой сборкой из этого репозитория, и подписывает их только после того, как запрос вручную утвердил ответственный за выпуски.

Закрытый ключ сертификата хранится у SignPath в аппаратном модуле (HSM): у разработчиков программы его нет, и подписать им что-то в обход сборки нельзя.

Кто отвечает

Роль Участники
Авторы и рецензенты кода Mercurrial
Утверждают подпись выпусков Mercurrial

Изменения от других участников (pull request) попадают в код только после проверки рецензентом. У всех, кто указан в таблице, включена двухфакторная аутентификация на GitHub и в SignPath.

Как проверить подпись

Щёлкните файл правой кнопкой мыши → «Свойства» → «Цифровые подписи». В списке должна быть подпись SignPath Foundation, а кнопка «Подробно» покажет «Эта цифровая подпись действительна».

То же в PowerShell:

Get-AuthenticodeSignature .\ModbusReader-Setup.exe | Format-List Status, SignerCertificate

Status должен быть Valid. Если подписи нет или Windows пишет, что она недействительна, не запускайте файл и сообщите об этом.

Для совсем новой версии Windows SmartScreen может ещё какое-то время показывать предупреждение, пока у неё мало скачиваний; издателем в нём будет указан SignPath Foundation. Что делать — в разделе Установка.

Конфиденциальность

Программа не передаёт никаких сведений другим компьютерам в сети, если об этом не попросил пользователь или тот, кто её устанавливает и настраивает. Единственное, что она делает сама, — проверяет обновления:

  • при запуске и раз в несколько часов программа запрашивает у GitHub (api.github.com) сведения о последнем выпуске, а если вышла новая версия — скачивает её файл с GitHub. В запросе передаётся только номер версии программы; GitHub, как любой сайт, видит IP-адрес компьютера. Как GitHub обращается с этими данными, описано в его заявлении о конфиденциальности;
  • проверку можно выключить: «Настройки» → «Общие» → «Обновления», переключатель «Обновлять автоматически».

Всё остальное — подключение к прибору по Modbus TCP, поиск приборов в сети сканером, открытие страниц в браузере — программа делает только по команде пользователя. Телеметрию, статистику использования и отчёты об ошибках она не отправляет.