XCFrameworks手動(dòng)簽名

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

應(yīng)用程序開發(fā)人員必須了解的知識(shí)

Xcode 15 會(huì)自動(dòng)驗(yàn)證您的應(yīng)用程序的依賴關(guān)系,并在檢測(cè)到問題時(shí)向您發(fā)出警報(bào),從而保護(hù)您的供應(yīng)鏈完整性。

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

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

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

Xcode 將在您第一次使用 xcframework 時(shí)記錄身份,并驗(yàn)證它在以后的構(gòu)建過程中不會(huì)更改。

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

signatureverificationfailed.png

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

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

如果您不確定,請(qǐng)取消。這會(huì)將新版本移至 Xcode 中的垃圾箱。

confirmordiscardsignaturechange.png

文章:驗(yàn)證 XCFrameworks 的來(lái)源

SDK 作者必須了解的知識(shí)

強(qiáng)烈鼓勵(lì) SDK 作者簽署他們的 XCFrameworks,但不強(qiáng)制這樣做。

對(duì)于 SDK 作者來(lái)說,對(duì) SDK 進(jìn)行加密簽名非常重要,因?yàn)樗试S應(yīng)用程序開發(fā)人員確認(rèn)身份并保證代碼在簽名后不會(huì)被更改或篡改。

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

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

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


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

包含時(shí)間戳標(biāo)志是為了確保簽名包含 Apple 證明的安全時(shí)間戳。

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

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

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

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

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

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

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