Подпись модов своим ключом и его генерация | DSUtils

Хотел бы подробно рассмотреть процесс генерации своих ключей подписи и их использования для подписи модификаций. Данная тема является довольно важной для каждого разработчика, так как без наличия ключей подписи ваш мод будет невозможно подключить к серверу (на котором включена проверка сигнатур).


Вступление

Перейдем сразу к делу. Для подписи нашей модификации нам понадобится:

  • ArmA 3 — Tools (Steam)
  • Упакованная модификация (pbo файл)

Для генерации ключа подписи и его использования нам понадобится утилита под названием DSUtils, которую можно запустить либо с помощью исполняемого файла DSUtils.exe по пути Arma 3 Tools\DSSignFile, либо же открыть ее через лаунчер A3 Tools:


Генерация ключа подписи

После того как утилита будет открыта, первым делом нам нужно будет сгенерировать наш собственный ключ. Для этого нажимаем кнопку N

Указываем название ключа (без пробелов), путь, где он будет находиться и нажимаем кнопку Create key

Отлично! Ключ подписи мы сгенерировали. Теперь в указанной вами папке вы сможете найти следующие 3 файла:

  • <имя_ключа>.bikey
  • <имя_ключа>.biprivatekey
  • <имя_ключа>.txt

Хотелось бы немного поподробнее рассказать о каждом из этих файлов.

<имя_ключа>.bikey — Публичный ключ, который обычно используется владельцем сервера для вайтлистинга мода. Этот ключ нужно будет положить в папку Keys вашего мода (Примерно вот так: @MY_MOD\Keys), что бы его можно было легко найти.
Стоит отметить одну очень важную вещь: Внося какой-либо .bikey в список разрешенных на сервере, владелец разрешает запуск любого мода, подписаного данным ключом. Делайте выводы ¯\_(ツ)_/¯

<имя_ключа>.biprivatekey — Приватный ключ, который должен находиться ТОЛЬКО у вас и у тех, с кем вы ведете процесс разработки. Этот ключ необходим для осуществления подписи .pbo. Процесс подписи мы рассмотрим чуть позже.

<имя_ключа>.txt — Лог файл процесса создания ключа. Необходим в случае возникновения ошибок.


Подпись модификаций

Вот мы и добрались до подписи наших пбошников свеженьким ключиком. Начнем с того, что нам нужно открыть наш ключ в DSUtils. Для этого нажимаем на кнопку папки и находим наш .biprivatekey

После чего берем наш .pbo, перетаскиваем в окно слева и нажимаем кнопку Process files

Хотелось бы еще отметить то, что начиная с ArmA 3 версии ≥ 1.86 ключи подписи перешли на новую, третью версию. По словам богемии, новые сигнатуры гораздо более шустрые в плане проверки.
Это я сейчас к тому, что если вдруг вам понадобится использовать ключ v2, то необходимо поставить галочку в поле Force v2


Если все пройдет успешно, то после окончания процесса вы, зайдя в папку \Addons вашего мода, найдете там ключ подписи.


Наличие .bisign и будет означать успех


Обсудить это можно в нашем Discord канале