Подпись лаунчера
Для того что бы антивирусные программы не так часто ругались на ваш лаунчер его требуется подписать 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
.
Подпись исполняемого файла
После генерации сертификата закидываем его в папку 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
- маска названия файла установщика