XCFrameworks手動簽名

二進制框架的簽名驗證是 Xcode 15 中的一項新功能,它根據(jù)SDK 作者完成的代碼簽名為****應用程序開發(fā)人員提供安全性。

應用程序開發(fā)人員必須了解的知識

Xcode 15 會自動驗證您的應用程序的依賴關系,并在檢測到問題時向您發(fā)出警報,從而保護您的供應鏈完整性。

Xcode 現(xiàn)在在檢查器中顯示一個新部分,其中顯示您在應用程序中包含的 xcframeworks 的簽名狀態(tài)。

此部分包含有關簽名的信息,例如作者的身份。它將顯示 xcframework 是否由以下人員簽名

  • Apple 開發(fā)者計劃身份
  • 自簽名證書或
  • 目前尚未簽署

Xcode 將在您第一次使用 xcframework 時記錄身份,并驗證它在以后的構建過程中不會更改。

如果簽名發(fā)生更改,您的應用程序的構建將失敗并顯示相應的錯誤消息。

signatureverificationfailed.png

選擇錯誤會提供一條警報,解釋開發(fā)人員的身份已更改,并顯示預期身份與新版本中存在的身份的比較情況。

這一變化可能表明二進制框架已被破壞。這種改變可能是合法的。如有必要,請通過經(jīng)過驗證的公共渠道聯(lián)系 SDK 作者進行澄清。

如果您不確定,請取消。這會將新版本移至 Xcode 中的垃圾箱。

confirmordiscardsignaturechange.png

文章:驗證 XCFrameworks 的來源

SDK 作者必須了解的知識

強烈鼓勵 SDK 作者簽署他們的 XCFrameworks,但不強制這樣做。

對于 SDK 作者來說,對 SDK 進行加密簽名非常重要,因為它允許應用程序開發(fā)人員確認身份并保證代碼在簽名后不會被更改或篡改。

鼓勵 SDK 作者使用其 Apple 開發(fā)者計劃身份進行簽名。對于不同的開發(fā)人員身份,Xcode 根據(jù)對簽名所用身份的信任度提供不同級別的功能。

[圖片上傳失敗...(image-2f1b07-1711698469074)]

使用該codesign工具對您的二進制框架進行簽名。下面的示例使用 Apple 開發(fā)者計劃身份。


codesign --timestamp -v --sign "Apple Distribution: Truck to Table (UA527FUGW7)" BirdFeeder.xcframework

包含時間戳標志是為了確保簽名包含 Apple 證明的安全時間戳。

簽名位于_CodeSignatureXCFramework 的目錄中,并保護最終二進制框架內(nèi)所有文件的完整性。

SDK 作者負責與其 SDK 客戶端共享此證書的指紋,以便應用程序開發(fā)人員可以驗證 xcframework 是否由 SDK 作者簽名。

  • 查看簽名
security find-identity -v
  • 重新簽名
    對于已經(jīng)簽名過的framework,可以使用-f參數(shù)強制重新簽名,用新的簽名覆蓋掉以前的簽名
codesign -f -s "證書名稱" /path/to/your.framework

  • 移除簽名
codesign --remove-signature YourFramework.framework
  • 驗證簽名
codesign --verify --verbose YourFramework.framework
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Xcode 12 Beta 3發(fā)行說明 更新您的應用程序以使用新功能,并針對API更改測試您的應用程序。 總覽 X...
    iCloudEnd閱讀 2,698評論 0 0
  • 這一篇文章給大家介紹:Xcode 11 Beta 5,雖然是beta版本,但是在不久的將來必將來臨,例如:Swif...
    Cooci_和諧學習_不急不躁閱讀 10,423評論 6 18
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,900評論 2 59
  • 代碼簽名 什么是代碼簽名 代碼簽名是對可執(zhí)行文件或腳本進行數(shù)字簽名,用來確認軟件的來源并保證在簽名后未被修改或損壞...
    _涼城閱讀 2,355評論 0 3
  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,139評論 1 180

友情鏈接更多精彩內(nèi)容