У меня возникает проблема с подписью кода сборки Windows .exe на Mac с использованием сертификата .p12, созданного Apple и хранящегося в связке ключей Mac.
Моя версия электронного сборщика: 20.28.1 И целевая сборка, которую я пытаюсь запустить, - это сборка Windows ia32.
Кодирование отлично работает для приложения Mac. Но при попытке подписать сборку Windows она не может ее подписать.
Если возможно, я хотел бы попробовать подписать сборку Windows на машине с macOS, поскольку я читал, что это возможно в документации (надеюсь, я правильно прочитал?)
После попытки кодирования я проверяю сборку, используя:
codesign -dv [path/to/app/appname].exe
И всегда получайте (только для сборки Windows приложение Mac подписывает нормально):
code object is not signed at all
Я занимаюсь сборкой как для Mac, так и для Windows, но на данный момент я создаю для Windows только архитектуру ia32. Вот как выглядит моя конфигурация сборки в моем package.json
"build": {
"appId": "[my-app-id]",
"files": [
"public/**/*",
"node_modules/**/*",
"package.json"
],
"directories": {
"buildResources": "build/resources"
},
"mac": {
"category": "public.app-category.productivity",
"target": [
"dmg",
"zip"
],
"publish": {
"provider": "s3",
"bucket": "[BUCKET_NAME]",
"path": "my-path"
}
},
"win": {
"target": [
{
"target": "nsis",
"arch": [
"ia32"
]
}
],
"publish": {
"provider": "s3",
"bucket": "[BUCKET NAME]",
"path": "my-path"
}
},
"extends": null
},
А вот как выглядит мой файл .env, куда я загружаю переменные окружения для electronic-builder:
export ENV_NAME=staging
export CSC_NAME='[certificatename]' #example 1A3JKJD89O
export CSC_LINK=./path/to/mycert/cert.p12
export CSC_KEY_PASSWORD='my-passowrd'
export WIN_CSC_LINK=./path/to/mycert/cert.p12
export WIN_CSC_KEY_PASSWORD='my-passowrd'
export CSC_IDENTITY_AUTO_DISCOVERY=true
export DEBUG=electron-builder
export AWS_ACCESS_KEY_ID=[AWSKEYID]
export AWS_SECRET_ACCESS_KEY=[AWSSECRETACCESSKEY]
export AWS_S3_ENDPOINT=[S3ENDPOINT]
И, наконец, вот команда пряжи, которую я запускаю, чтобы упаковать сборку (это в скрипте пряжи)
export $(grep -v '^#' ./path/t/my/env/file/staging.env | xargs) && electron-builder -p never -mw --ia32
Я не уверен, что мне здесь не хватает? Кто-нибудь знает, что мне еще нужно делать? Спасибо! :)