gpt4 book ai didi

windows - 在 Mac 上使用 electron-builder 协同设计 Windows 构建,但无法正常工作

转载 作者:可可西里 更新时间:2023-11-01 09:22:45 24 4
gpt4 key购买 nike

我在 Mac 上使用 Apple 生成并存储在 Mac 钥匙串(keychain)中的 .p12 证书对 Windows .exe 版本进行代码签名时遇到问题。

我的 electron-builder 版本是:20.28.1我尝试运行的目标版本是 Windows ia32 版本。

代码设计适用于 Mac 应用程序。但是当尝试签署 Windows 版本时,它无法签署。

如果可能的话,我想尝试在 macOS 机器上签署 Windows 构建,因为我在文档中读到这是可能的(我希望我没看错?)

尝试协同设计后,我使用以下方法检查构建:
codesign -dv [path/to/app/appname].exe

并且始终获取(仅适用于 Windows 构建,Mac 应用程序可以正常运行):
代码对象根本没有签名

我正在为 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 文件的样子,我在其中为 electron-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]

最后,这是我运行的用于打包构建的 yarn 命令(在 yarn 脚本中)

export $(grep -v '^#' ./path/t/my/env/file/staging.env | xargs) && electron-builder -p never -mw --ia32 

我不确定我在这里缺少什么?有人知道我还需要做什么吗?谢谢! :)

最佳答案

据我了解,您必须使用兼容的证书:

https://www.electron.build/code-signing

To sign an app on Windows, there are two types of certificates:

EV Code Signing Certificate

Code Signing Certificate

个人很难获得正确的证书。适用于 Windows 的证书并不容易获得,我必须通过大量的文书工作才能完成这项工作。我希望这篇文章能让你的生活更轻松: https://blog.dcpos.ch/how-to-make-your-electron-app-sexy

转到部分:签名安装程序

引用文章:

To get a Windows signing certificate, we recommend Digicert. Thedocumentation for Windows app signing is surprisingly bad. If you gowith the wrong vendor, they'll ask you to mail them notarizedpaperwork. That makes it a slow and annoying process to get the cert.Digicert is easier: they just send you a password via Certified Mail,you go to the post office, show your ID to pick it up, and bam, youget your signing certificate.

关于windows - 在 Mac 上使用 electron-builder 协同设计 Windows 构建,但无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51913963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com