签署Windows Electron应用程序
我有一个Electron应用程序,可以在Windows上使用签署Windows Electron应用程序,electron,Electron,我有一个Electron应用程序,可以在Windows上使用npm run ewin进行良好编译: "scripts": { "start": "electron main.js", "pack": "build", "ewin": "build --win --ia32 --x64", "ewinsign": "export CSC_LINK=file:///${HOME}/certificates/certificate.pfx; export CSC_K
npm run ewin
进行良好编译:
"scripts": {
"start": "electron main.js",
"pack": "build",
"ewin": "build --win --ia32 --x64",
"ewinsign": "export CSC_LINK=file:///${HOME}/certificates/certificate.pfx; export CSC_KEY_PASSWORD=\"$( cat ${HOME}/certificates/certificates_pw.txt )\"; npm run clean:win && build --win --ia32 --x64",
},
因此,我添加了ewinsign
,试图让它在应用程序上签名
我基于此讨论的ewinsign
:
ewinsign
失败,出现以下错误:
'export' is not recognized as an internal or external command,
operable program or batch file.
我真的不希望它能工作,因为我正在Windows上运行我的构建,而bash命令在Windows上通常不可用
Windows应用程序的签名应该是一个众所周知的解决方案,所以我很犹豫是否要开始破解我自己的解决方案
总之:
${HOME}/certificates/certificate.pfx
${HOME}/certificates/certificate_pw.txt
npm run ewin
成功构建unsigned如何添加将生成已签名Windows应用程序的
ewinsign
命令?如果要使用该命令并尝试Windows替换,请查找以下内容:
set
是用于创建窗口的命令
环境变量(而不是导出)类型
相当于
窗户李>
%USERPROFILE%
获取该值“ewinsign”:“set CSC_LINK=file:///%USERPROFILE%/certificates/certificate.pfx;设置CSC_KEY_PASSWORD=\“$(键入%USERPROFILE%/certificates/certificates_pw.txt)\”;npm干净运行:win&&build--win--ia32--x64“
但是,我还没有测试过该代码,所以我不确定它是否能工作
现在,我还没有使用electron builder进行代码签名,但我假设您将使用来强制执行证书。这将在package.json文件的“build”部分进行设置:
"build":{
"appid":"yourid",
"asar": true,
"forceCodeSigning": true,
"win":{
"target": "...",
"publisherName": "..."
"certificateFile": "...",
"certificatePassword":"...",
"certificateSubjectName":"...",
"certificateSha1":"...",
"signingHashAlgorithms":"..."
}
}
您可能需要处理这些值才能使某些内容正常工作,但根据文档,我会这样做。参考父选项,我最终编写了一个设置环境变量的bat脚本包装器。这更容易调试,因为我可以添加
env
语句来查看环境变量变量设置为
以下是脚本:
set CSC_LINK=file://%USERPROFILE%/certificates/certificate.pfx
set /p CSC_KEY_PASSWORD=<"%USERPROFILE%/certificates/certificates_pw.txt"
npm run ewin
set CSC\u LINK=file://%USERPROFILE%/certificates/certificate.pfx
设置/p CSC\u密钥\u密码=