Skip to content

Подпись лаунчера

Для того что бы антивирусные программы не так часто ругались на ваш лаунчер его требуется подписать Code Signing сертификатом. Но по хорошему вы должны обратиться один из многих доверенных центров сертификации для приобретения данного сертификата. Но для начала подпишем наш лаунчер самозаверенным сертификатом.

Генерация сертификата

Для удобного и понятного интерфейса мы будем использовать XCA. Скачиваем и устанавливаем.

  • Сперва заходим в список Файл и выбираем Новая база данных. Называем как хотим и размещаем где хотим.
  • Во вкладке Сертификаты нажимаем на Новый сертификат. Сейчас мы создадим корневой сертификат.
  • Заходим в вкладку Субъект и заполняем поле commonName (например ServerMC Root CA) обязательно, остальные поля на ваше усмотрения.
  • Снизу вы увидите кнопку Сгенерировать новый ключ. Выбираем тип ключа RSA и длина 4096 bit. Создавать ключ нужно при каждом новом сертификате.
  • Переходим во вкладку Расширения в списке Тип выбираем Центр Сертификации. В разделе Выбор периода пишем сколько лет будет действовать сертификат. Обычно срок действия корневого сертификата от 10 до 50 лет. Не забудьте нажать Применить для расчета дат.
  • Переходим во вкладку Области применения ключа в левом столбце выбираем Certificate Sign и CRL Sign.
  • Переходим во вкладку Netscape в ней не чего не должно быть заполнено и выделено.
  • Создаём корневой сертификат кнопкой OK
  • Для улучшения сертификата можно сделать промежуточный сертификат. Для этого повторите этапы выше но только в самом начале в разделе Подписание укажите корневой сертификат. Все последующие сертификаты должны иметь срок жизни меньше чем корневой сертификат.
  • Создаём Code Signing сертификат для этого в разделе Подписание укажите промежуточный сертификат (корневой сертификат).
  • Вкладка Субъект заполняем аналогично.
  • Вкладка Расширения в списке Тип выбираем Конечный субъект. Период действия на своё усмотрения.
  • Вкладка Области применения ключа в левом столбце выбираем Digital Signature в правом Code Signing и Microsoft Individual Code Signing.
  • Создаём Code Signing сертификат кнопкой OK
  • Выделяем Code Signing сертификат и нажимаем Экспорт в формате PKCS#12 chain и запоминаем пароль он нам пригодиться в настройке certificatePassword. 1.png

Подпись исполняемого файла

После генерации сертификата закидываем его в папку ssl(или любую другую) и редактируем файл package.json. Ищем данные строчки

json
"nsis": {
            "artifactName": "${name}-Setup-${version}.${ext}"
        },

И добавляем после эти строчки.

json
"win": {
            "target": "nsis",
            "signingHashAlgorithms": [
                "sha256"
            ],
            "certificateFile": "./ssl/Sign.pfx",
            "certificatePassword": "password"
        },
Описание настроек конфига
  • target - оставляем без изменений
  • signingHashAlgorithms - какой тип генерации хеша использовался. Если вы сгенерировали сертификат оставляем без изменений
  • certificateFile - путь до файла сертификата
  • certificatePassword - пароль от сертификата
  • artifactName - маска названия файла установщика