簽名公證

app重簽名

1.查看包信息

codesign -d -vvv demo.app
查詢結(jié)果如下

Executable=/Users/xxxxxxx/Desktopxxxxxxxxxxxxxxxx/airhost
Identifier=us.zoom.airhost
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20500 size=65627 flags=0x10000(runtime) hashes=2042+5 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=f4aaeaacbdb374cd6bad1d295fac898865a4373c
CandidateCDHashFull sha1=f4aaeaacbdb374cd6bad1d295fac898865a4373c
CandidateCDHash sha256=657a8011195e64a3d619bf3f39dc013da6006c5d
CandidateCDHashFull sha256=657a8011195e64a3d619bf3f39dc013da6006c5deb4df20043de8355a4a628c1
Hash choices=sha1,sha256
CMSDigest=5c8ae9046f896efae0bb766bd5a051a754d7b73d8e5060aff1b95ec74eb317dc
CMSDigestType=2
CDHash=657a8011195e64a3d619bf3f39dc013da6006c5d
Signature size=9081
Authority=Developer ID Application: xxxx Communications, Inc. (xxxxxxxx)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Mar 31, 2021 at 10:17:08 AM
Info.plist entries=24
TeamIdentifier=BJ4HAAB9B3
Runtime Version=10.14.0
Sealed Resources version=2 rules=13 files=19
Internal requirements count=1 size=176

重點(diǎn)看其中幾點(diǎn)

Authority=Developer ID Application: xxx Communications, Inc. (xxxxxxx)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Mar 31, 2021 at 10:17:08 AM
Info.plist entries=24
TeamIdentifier=xxxxx

2.查看包中的 entitlement

codesign -d —-entitlements - demo.app

3.簽名

codesign --force --entitlements caphost.entitlements --options runtime --sign "Developer ID Application: xxxxx Co., Ltd. (xxxxxx)" ZoomSDK/caphost.app

--force 本身已經(jīng)簽名适肠,這里強(qiáng)制重簽名搏嗡;
--options runtime 因?yàn)橐C,所以也需要把a(bǔ)pp設(shè)置成強(qiáng)制運(yùn)行時(shí)比然,這里注意囤攀,設(shè)置強(qiáng)制運(yùn)行時(shí)會(huì)使之前的獲取權(quán)限設(shè)置清空软免,所以需要用entitlements來設(shè)置;
--entitlements 因?yàn)閍pp可能會(huì)用到某些權(quán)限焚挠,這里需要根據(jù)第二步獲取到的entitlement創(chuàng)建文件膏萧;
--sign 簽名,后面寫簽名證書的名字蝌衔;

如果app內(nèi)部包含framework榛泛,需要對(duì)framework的dylib文件也進(jìn)行簽名;

app公證-使用Xcode公證

1噩斟、使用 Developer ID 簽名你的應(yīng)用

關(guān)于證書曹锨,可參考:https://blog.csdn.net/lovechris00/article/details/84848734

2、Enable hardened runtime

The hardened runtime :強(qiáng)化版運(yùn)行時(shí)
設(shè)置需要以下條件:macOS 10.13.6 及以上剃允, Xcode 10 及以上沛简;
測(cè)試則必須在 10.14 及以上版本。


工程 – target – Capabilities – Hardened Runtime
勾選需要的Access 后硅急,access 將會(huì)聲稱在 entitlements 中覆享。


20191007153755243.png

3、entitlement 添加 com.apple.security.get-task-allow

entitlement.plist 中添加 com.apple.security.get-task-allow 這個(gè)鍵营袜,設(shè)置為 YES

注意:這里選擇了強(qiáng)化版運(yùn)行時(shí),獲取權(quán)限會(huì)發(fā)生變化丑罪,需要在下面把權(quán)限勾上荚板,不然獲取權(quán)限的時(shí)候會(huì)崩潰;

4吩屹、Archive

Distribute App —> Developper ID —> Upload —> Review —> Loading跪另;

20191007153955524.png

20191007154017309.png

20191007154044314.png

2019100715405427.png

20191007163822258.png

公證成功

上面的頁面不要關(guān)閉,公證成功后會(huì)給xcode發(fā)通知煤搜。一般幾分鐘就可以免绿;

點(diǎn)擊export可以導(dǎo)出公證成功的app文件;

打包pkg和簽名

1.打包pkg

2.獲取 installer 證書名字

終端輸入
security find-identity -v

可以得到如下類型的數(shù)據(jù):

  1) 1236AFAC91EB45EC745037C6720F851C67E "Mac Developer: ss (612SD557MK)"
  2) BCDBBCDB4BB8A048092FFFB813C45571273EC2AA "iPhone Developer: ss (3213CE4L5)"
  3) 12345BDC1845B3E8E9E8EFEE61221BEBDAA75E "Mac Developer: ss (3U6SDA6DL5)"
 4) FBFSDF8FE507B8D9FDA6FDSDADA786A3 "Developer ID Installer: ss (DSA34QV93)"

找到帶 installer 的那條數(shù)據(jù)擦盾,并將雙引號(hào)及內(nèi)容一起復(fù)制

3.簽名

腳本

#先cd到 pkg文件的同一目錄下嘲驾;

#pkg簽名
productsign --sign "Developer ID Installer: xxx Co., Ltd. (xxx)" xxx.pkg xxxsigned.pkg
#xxxsigned.pkg為簽名后的pkg文件淌哟,要拿這個(gè)文件去公證,而不是你原來的pkg

#公證
xcrun altool --notarize-app --primary-bundle-id "com.xxxx.xxxx" --username "xxx@xxxxx" --password "xxxx-xxxx-xxxx-xxxx" --file  xxxsigned.pkg
#password 要從apple官網(wǎng)中獲取辽故,文章底部有鏈接

#查看公證
xcrun altool --notarization-info 54b88d61-4858-48e4-a9be-7b272577abf3 --username "xxx@xxxx" --password "xxxx-xxxx-xxxx-xxxx" 
#54b88d61-4858-48e4-a9be-7b272577abf3 這個(gè)是請(qǐng)求id徒仓,上一條指令成功后,會(huì)在控制臺(tái)打印出來誊垢,然后替換掉弛;

#給包訂上公證票據(jù)
xcrun stapler staple -v xxxsigned.pkg

#驗(yàn)證pkg
spctl -a -v --type install ./xxxsigned.pkg

#結(jié)果
#公證后的
/xxx/abc.pkg: accepted
source=Notarized Developer ID
 
#沒公證的
/xxx/abc.pkg: rejected
source=Unnotarized Developer ID

密碼獲取:管理您的 Apple ID
參考 macOS 開發(fā) - Notarization 公證你的 Developer ID 應(yīng)用_伊織的筆記本-CSDN博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喂走,一起剝皮案震驚了整個(gè)濱河市殃饿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芋肠,老刑警劉巖乎芳,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異业栅,居然都是意外死亡秒咐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門碘裕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來携取,“玉大人,你說我怎么就攤上這事帮孔±鬃蹋” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵文兢,是天一觀的道長(zhǎng)晤斩。 經(jīng)常有香客問我,道長(zhǎng)姆坚,這世上最難降的妖魔是什么澳泵? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮兼呵,結(jié)果婚禮上兔辅,老公的妹妹穿的比我還像新娘。我一直安慰自己击喂,他們只是感情好维苔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著懂昂,像睡著了一般介时。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天沸柔,我揣著相機(jī)與錄音循衰,去河邊找鬼。 笑死勉失,一個(gè)胖子當(dāng)著我的面吹牛羹蚣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乱凿,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼顽素,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了徒蟆?” 一聲冷哼從身側(cè)響起胁出,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎段审,沒想到半個(gè)月后全蝶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寺枉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年抑淫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姥闪。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡始苇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出筐喳,到底是詐尸還是另有隱情催式,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布避归,位于F島的核電站荣月,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梳毙。R本人自食惡果不足惜哺窄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望账锹。 院中可真熱鬧堂氯,春花似錦、人聲如沸牌废。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸟缕。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間懂从,已是汗流浹背授段。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留番甩,地道東北人侵贵。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像缘薛,于是被迫代替她去往敵國和親窍育。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容