electron 有问题让电子建设者签署一个mac建设

pgccezyw  于 8个月前  发布在  Electron
关注(0)|答案(1)|浏览(72)

我不知道为什么electron-builder找不到有效的身份。
使用环境变量进行调试,我总是以同样的问题结束,它说没有有效的标识,尽管在下面列出了一个有效的标识。

  • 我试过将cert名称指定为json包中顶级密钥“mac”的“identity”属性,并将其删除。
  • 我尝试指定密钥链(CSC_KEYCHAIN)登录。
  • 我试过在登录、系统和自定义钥匙链中添加“开发者ID应用程序:*”证书(我不知道为什么电子构建器一直在制作额外的钥匙链,名为“1”)。
  • 我已经尝试添加一个“苹果根CA”所有这些钥匙链从上一行。
  • 我已经尝试指定并省略CSC_NAME、CSC_LINK + CSC_KEY_PASSWORD。
  • 我已尝试将CSC_IDENTITY_DISCOVERY设置为false。

从这个page运行命令行似乎可以工作(因为运行spctl -a -t exec -vv 'Appname.dmg'会返回“source=Unnotarized Developer ID”),但我想遵循基于electron-builder #3870here建议的自动公证过程
当我在package json中指定标识时,我最接近的说法是,

Identity name is specified, but no valid identity with this name in the keychain identity=***** allIdentities=

1) BBBBBBBBB "Developer ID Application: ***** (XXXXX)"
1 identities found

Valid identities only

1) BBBBBBBBBB "Developer ID Application: ***** (XXXXX)" <---lists the exact one above

1 valid identities found
at/........

字符串
当我运行安全find-identity -vsecurity find-identity -v -p codesigning时,完全相同的证书再次出现。
我错过什么了吗?

s71maibg

s71maibg1#

我有一个类似的问题,它花费了我相当多的时间,直到我最终找到了解决方案。这可能应该为每个人谁面对这个问题的工作。
当我更新我的Apple Developer会员资格时,我发现我的帐户下已经有两个证书,所以我下载了它们并将它们添加到我的Keychain中。然而,Electron-builder在应用程序打包时拒绝拾取它们。它总是选择其他无关的证书。
然后我做的是create new certificates和下载这些.一旦我把它们添加到钥匙串,并重新运行Electron-builder,它立即拿起他们,并签署我的应用程序正确.
这些新证书和旧证书有什么区别呢?一个突出的问题是,这些新证书包含了它们的private key(就像GitHub上的一个用户提到的那样)。
所以这一定意味着我下载的前两个证书是用我的旧电脑创建的(几年前),所以当我从devevloper.apple.com下载它们时,它们的私钥并不存在。(别担心,这都在我分享的第一个链接的说明中),我相信它包含了我的旧证书没有的丢失的私钥。

--

  • 旁注(下一位稍微不相关):*

当Electron-builder成功挑选您的证书并尝试对您的应用程序进行签名时,您可能会被提示输入密钥密码以允许签名。在我的情况下,我不知道密码是什么(计算机密码不起作用),所以我改为:
1.去了钥匙串
1.展开证书以查看私钥
1.右键单击私钥
1.点击“获取信息”
1.将出现一个带有“访问控制”选项卡的小弹出窗口,单击“访问控制”选项卡并选择“允许所有应用程序访问此项目”
1.单击保存
1.它将提示您输入密码,但您的计算机密码将在这种情况下工作。
1.完成后,您可以再次运行Electron-Builder。
1.当然,在应用程序打包完成后,您可以返回撤消此设置。

相关问题