Подпись Launcher
Для того что бы антивирусные программы не так часто ругались на ваш Launcher его требуется подписать Code Signing сертификатом. Но по хорошему вы должны обратиться один из многих доверенных центров сертификации для приобретения данного сертификата. Но для начала подпишем наш Launcher самозаверенным сертификатом.
Генерация сертификата
Для удобного и понятного интерфейса мы будем использовать 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(или любую другую) и редактируем файл script/electron-build.ts. Ищем данные строчки
ts
"nsis": {
"artifactName": "${name}-Setup-${version}.${ext}"
},И добавляем после эти строчки.
ts
"win": {
"target": "nsis",
"signingHashAlgorithms": [
"sha256"
],
"certificateFile": "./ssl/Sign.pfx",
"certificatePassword": "password"
},Описание настроек конфига
target- оставляем без измененийsigningHashAlgorithms- какой тип генерации хеша использовался. Если вы сгенерировали сертификат оставляем без измененийcertificateFile- путь до файла сертификатаcertificatePassword- пароль от сертификатаartifactName- маска названия файла установщика