gon是一個(gè)簡(jiǎn)單而簡(jiǎn)潔的工具,用于 為macOS 簽名和公證 CLI二進(jìn)制文件。gon可用作CLI,可以手動(dòng)運(yùn)行或在自動(dòng)化管道中運(yùn)行。它也可以作為Go庫(kù)來(lái)嵌入到用Go編寫(xiě)的項(xiàng)目中。gon可以簽署和公證用任何語(yǔ)言編寫(xiě)的二進(jìn)制文件。
從macOS Catalina(10.15)開(kāi)始,Apple 要求對(duì)Mac App Store之外分發(fā)的所有軟件進(jìn)行簽名和公證。未正確簽名或未經(jīng)過(guò)公證的軟件將顯示一條 錯(cuò)誤消息 ,唯一可行的選項(xiàng)是“移至Bin”。即使從命令行也無(wú)法運(yùn)行該軟件。該 解決方法是痛苦的用戶。gon可以幫助您自動(dòng)化公證過(guò)程。
要安裝gon,請(qǐng)從版本頁(yè)面下載適合您平臺(tái)的版本。這些都經(jīng)過(guò)簽名并經(jīng)過(guò)公證,可以立即在macOS 10.15+上使用。
您還可以使用Go 1.13或更高版本使用standard從源代碼進(jìn)行編譯 go build。請(qǐng)確保已啟用Go模塊。
gon需要一個(gè)配置文件,該文件可以指定為文件路徑或通過(guò)stdin傳入。該配置指定gon將用于簽名和打包文件的所有設(shè)置。
gon必須在XCode 11.0或更高版本的macOS機(jī)器上運(yùn)行。代碼簽名,公證和打包都需要僅在macOS計(jì)算機(jī)上可用的工具。
執(zhí)行后,gon將配置的文件簽名,打包和公證為請(qǐng)求的格式。gon如果0成功,將退出并顯示退出代碼,如果失敗,則將顯示其他任何值。
使用之前gon,您必須獲得開(kāi)發(fā)者ID證書(shū)。為此,您既可以通過(guò)網(wǎng)絡(luò)也可以通過(guò)Mac上的本地Xcode進(jìn)行操作。如果已經(jīng)安裝Xcode,則使用起來(lái)會(huì)更容易。
要驗(yàn)證您是否正確執(zhí)行了此操作,可以檢查鑰匙串:
您應(yīng)該看到一個(gè)或多個(gè)證書(shū),并且至少一個(gè)應(yīng)該是您的Developer ID Application證書(shū)。十六進(jìn)制字符串前綴是您可以在配置文件中用來(lái)指定身份的值。
配置文件可以指定報(bào)告的許可的允許/拒絕列表,特定依賴項(xiàng)的許可替代等。配置文件格式為HCL或JSON。
您可以配置gon為對(duì)已經(jīng)簽名的文件進(jìn)行公證。如果要集成gon到可能已經(jīng)支持創(chuàng)建pkg,app等文件的現(xiàn)有構(gòu)建管道中,這將很有用。
由于公證要求還對(duì)軟件包的有效負(fù)載進(jìn)行簽名,因此此模式假定您已經(jīng)對(duì)有效負(fù)載以及軟件包本身進(jìn)行了代碼簽名。gon 不會(huì)在notarize區(qū)塊中簽名您的包裹。請(qǐng)不要將此與“何時(shí)source設(shè)置” 混淆,gon它本身 會(huì)創(chuàng)建您的軟件包,在這種情況下,它也會(huì)對(duì)它們進(jìn)行簽名。
除了指定之外,您還可以使用它source。在這種情況下,我們將對(duì)其中指定的文件進(jìn)行代碼簽名和打包source,然后對(duì)結(jié)果以及notarize塊中的結(jié)果進(jìn)行公證。
HCL中的示例,然后是JSON中的相同配置:
請(qǐng)注意,您可以指定多個(gè)notarize塊來(lái)同時(shí)對(duì)多象限文件進(jìn)行公證。
更多使用方法可以查看官方文檔
更多更優(yōu)質(zhì)的資訊,請(qǐng)關(guān)注我,你的支持會(huì)鼓勵(lì)我不斷分享更多更好的優(yōu)質(zhì)文章。
推薦閱讀:蘋(píng)果7和8哪個(gè)好
查看心情排行你看到此篇文章的感受是: