<menuitem id="mv7mv"><ins id="mv7mv"></ins></menuitem>

<samp id="mv7mv"><ins id="mv7mv"><u id="mv7mv"></u></ins></samp>

    1. <progress id="mv7mv"></progress>

        <tbody id="mv7mv"></tbody>
        星期三
        2025年7月9日
        您所在的位置:主頁 > 西安汽車展 > 保養 > 正文

        gon - 用于macOS Notarization的CLI和Go庫

        2020-03-30 12:17:27 來源: 閱讀:-

        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,則使用起來會更容易。

        通過網絡:

        1. 使用有效的Apple ID憑據登錄到developer.apple.com。您可能需要注冊一個Apple開發人員帳戶。
        2. 導航到證書 頁面。
        3. 單擊“ +”圖標,選擇“開發人員ID應用程序”,然后執行以下步驟。
        4. 下載證書后,雙擊以將其導入您的鑰匙串。如果您在CI機器上構建,則每個CI機器的鑰匙串中都必須具有此證書。

        通過Xcode:

        1. 打開Xcode并轉到Xcode =&gt;首選項=&gt;帳戶
        2. 單擊左下方的“ +”,然后添加您的Apple ID(如果尚未添加)。
        3. 選擇您的Apple帳戶,然后單擊右下角的“管理證書”。
        4. 單擊左下角的“ +”,然后單擊“開發人員ID應用程序”。
        5. 右鍵單擊列表中新創建的證書,單擊“導出”,然后將文件導出為p12格式的證書。將此保存在某處。您將永遠無法再次下載它。

        要驗證您是否正確執行了此操作,可以檢查鑰匙串:

        您應該看到一個或多個證書,并且至少一個應該是您的Developer ID Application證書。十六進制字符串前綴是您可以在配置文件中用來指定身份的值。

        配置文件

        配置文件可以指定報告的許可的允許/拒絕列表,特定依賴項的許可替代等。配置文件格式為HCL或JSON。

        僅公證配置

        您可以配置gon為對已經簽名的文件進行公證。如果要集成gon到可能已經支持創建pkg,app等文件的現有構建管道中,這將很有用。

        由于公證要求還對軟件包的有效負載進行簽名,因此此模式假定您已經對有效負載以及軟件包本身進行了代碼簽名。gon 不會在notarize區塊中簽名您的包裹。請不要將此與“何時source設置” 混淆,gon它本身 會創建您的軟件包,在這種情況下,它也會對它們進行簽名。

        除了指定之外,您還可以使用它source。在這種情況下,我們將對其中指定的文件進行代碼簽名和打包source,然后對結果以及notarize塊中的結果進行公證。

        HCL中的示例,然后是JSON中的相同配置:

        請注意,您可以指定多個notarize塊來同時對多象限文件進行公證。

        更多使用方法可以查看官方文檔

        開源地址:

        更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。

        推薦閱讀:月亮惹得禍

        国产精品亚洲综合久久