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