gon
gon是一个简单而简洁的工具,用于 为macOS 签名和公证 CLI二进制文件。gon可用作CLI,可以手动运行或在自动化管道中运行。它也可以作为Go库来嵌入到用Go编写的项目中。gon可以签署和公证用任何语言编写的二进制文件。
从macOS Catalina(10.15)开始,Apple 要求对Mac App Store之外分发的所有软件进行签名和公证。未正确签名或未经过公证的软件将显示一条 错误消息 ,唯一可行的选项是“移至Bin”。即使从命令行也无法运行该软件。该 解决方法是痛苦的用户。gon可以帮助您自动化公证过程。
特征
- 对以任何一种语言编写的一个或多个文件进行代码签名
- 将签名的文件打包为dmg或zip
- 公证包并等待公证完成
- 多种输出格式的并行公证
- 将公证票证装订为支持的格式(dmg),以便Gatekeeper验证可以脱机工作。
安装
要安装gon,请从版本页面下载适合您平台的版本。这些都经过签名并经过公证,可以立即在macOS 10.15+上使用。
您还可以使用Go 1.13或更高版本使用standard从源代码进行编译 go build。请确保已启用Go模块。
用法
gon需要一个配置文件,该文件可以指定为文件路径或通过stdin传入。该配置指定gon将用于签名和打包文件的所有设置。
gon必须在XCode 11.0或更高版本的macOS机器上运行。代码签名,公证和打包都需要仅在macOS计算机上可用的工具。
执行后,gon将配置的文件签名,打包和公证为请求的格式。gon如果0成功,将退出并显示退出代码,如果失败,则将显示其他任何值。
先决条件:获得开发人员ID证书
使用之前gon,您必须获得开发者ID证书。为此,您既可以通过网络也可以通过Mac上的本地Xcode进行操作。如果已经安装Xcode,则使用起来会更容易。
通过网络:
- 使用有效的Apple ID凭据登录到developer.apple.com。您可能需要注册一个Apple开发人员帐户。
- 导航到证书 页面。
- 单击“ +”图标,选择“开发人员ID应用程序”,然后执行以下步骤。
- 下载证书后,双击以将其导入您的钥匙串。如果您在CI机器上构建,则每个CI机器的钥匙串中都必须具有此证书。
通过Xcode:
- 打开Xcode并转到Xcode =>首选项=>帐户
- 单击左下方的“ +”,然后添加您的Apple ID(如果尚未添加)。
- 选择您的Apple帐户,然后单击右下角的“管理证书”。
- 单击左下角的“ +”,然后单击“开发人员ID应用程序”。
- 右键单击列表中新创建的证书,单击“导出”,然后将文件导出为p12格式的证书。将此保存在某处。您将永远无法再次下载它。
要验证您是否正确执行了此操作,可以检查钥匙串:
您应该看到一个或多个证书,并且至少一个应该是您的Developer ID Application证书。十六进制字符串前缀是您可以在配置文件中用来指定身份的值。
配置文件
配置文件可以指定报告的许可的允许/拒绝列表,特定依赖项的许可替代等。配置文件格式为HCL或JSON。
仅公证配置
您可以配置gon为对已经签名的文件进行公证。如果要集成gon到可能已经支持创建pkg,app等文件的现有构建管道中,这将很有用。
由于公证要求还对软件包的有效负载进行签名,因此此模式假定您已经对有效负载以及软件包本身进行了代码签名。gon 不会在notarize区块中签名您的包裹。请不要将此与“何时source设置” 混淆,gon它本身 会创建您的软件包,在这种情况下,它也会对它们进行签名。
除了指定之外,您还可以使用它source。在这种情况下,我们将对其中指定的文件进行代码签名和打包source,然后对结果以及notarize块中的结果进行公证。
HCL中的示例,然后是JSON中的相同配置:
请注意,您可以指定多个notarize块来同时对多象限文件进行公证。
更多使用方法可以查看官方文档
开源地址:
更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。
推荐阅读:手机性能排行
-
上班族可以常备在家中七种速食冷冻食品,不想点
上班族天天吃外卖也会吃到烦,自己有的不会做饭,有的懒得做,这个时候这些冷冻的速食产品就要上场啦冷冻披萨买过几次,有单人份的也有大一点的,直接在微波炉里弄一下就可...
2019-12-18 -
教你用竹签做独一无二的“新疆羊毛挂毯”花纹蛋
有一种花色神奇的蛋糕卷,双色,是斑马纹蛋糕衍生出来的,比其他印花的蛋糕卷要好做,但是成品却非常漂亮,而且不同人或者不同次做的成品可能会因为手法、面糊等因素,花纹...
2019-12-18 -
对生活上心的人,不该任由一口锅烧焦发黄(家庭
全新的锅用起来总是最爽的。用一个连锅底都是干干净净的新锅做饭确实会给人带来更大的愉悦感,甚至让下厨这件事超越了其每日必做的日常意义,变成了一个让人享受其中的过程...
2019-12-18 -
对不起,你可能对沙县小吃一无所知
一个厨房、简简单单几张桌子,店主是对夫妻,一个揉面,一个包馄饨。墙上贴着一张大菜单,经典的红绿灯配色,放眼望去,大部分菜品只要几块钱。你住的城市里,一定有一家这...
2019-12-18 -
麻油、香油、芝麻油一样吗?区别在哪?别混淆了
内事不决问百度,香事不决,上『百料汇』!我们家里厨房经常会备着但是不常用的两种油:麻油、香油。香油用的频率会高一些,比如夏天的拌菜、冬天火锅蘸料,多多少少都会用...
2019-12-18 -
大娘街头卖“馒头”3元1个,外地人看不上,老
说到馒头,大家都知道,在日常生活中,馒头都比较便宜,在小编这边,经常有那种推着车卖馒头的,一袋6个就卖3块钱,而且小编最爱吃荞麦馒头,比白馒头吃起来更甜,但是在...
2019-12-18