關(guān)于swift通過驗(yàn)證embedded.mobileprovision防止二次簽名后上傳APPStore被拒的記錄

之前因?yàn)轫?xiàng)目要做防止二次簽名威蕉,網(wǎng)上找到的方案是通過對(duì)比embedded.mobileprovision中的teamID是否被篡改來實(shí)現(xiàn)防止二次簽名

代碼如下

 func checkCodesign(id: String) {

        let embeddedPath = Bundle.main.path(forResource: "embedded", ofType: "mobileprovision")!
        let embeddedProvisioning = try? String.init(contentsOfFile: embeddedPath, encoding: String.Encoding.ascii)
        let embeddedProvisioningLines = embeddedProvisioning?.components(separatedBy: .newlines)

        for i in 0 ..< embeddedProvisioningLines!.count {
            let emStr = embeddedProvisioningLines![i] as NSString

            if emStr.range(of: "application-identifier").location != NSNotFound {

                let positionStr = embeddedProvisioningLines![i + 1] as NSString

                let fromPosition = positionStr.range(of: "<string>").location + 8
                let toPosition = positionStr.range(of: "</string>").location

                let range: NSRange = NSRange.init(location: fromPosition, length: toPosition - fromPosition)

                let fullIdentifier = positionStr.substring(with: range)
                let identifierComponents = fullIdentifier.components(separatedBy: ".") as Array
                let appIdentifier = identifierComponents.first

                if appIdentifier != id {
                    exit(0) // (1)
                }
            }
        }
    }

但是上傳APPStore卻因?yàn)槌绦蜷W退被拒梗逮。又仔細(xì)查找各種資料才發(fā)現(xiàn),在xcode打包的文件中是有embedded.mobileprovision這個(gè)文件的诬垂,但是當(dāng)上傳到AppStore后劲室,就沒有這個(gè)文件了,因?yàn)檫@個(gè)文件中存放了證書的私鑰公鑰等信息结窘,蘋果會(huì)驗(yàn)證其合法性很洋,如果合法就會(huì)刪除這個(gè)文件,并使用自己的私鑰公鑰重新簽名隧枫,這樣才能保證客戶的證書過期后喉磁,依然能夠保證app能夠在AppStore正常下載使用。

綜上官脓,此方案防止二次簽名只能適配企業(yè)賬號(hào)簽名的ipa包协怒。在此做個(gè)記錄。

相關(guān)鏈接:http://www.reibang.com/p/ccf28e0819fe

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卑笨,一起剝皮案震驚了整個(gè)濱河市孕暇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赤兴,老刑警劉巖妖滔,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異桶良,居然都是意外死亡铛楣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門艺普,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鉴竭,你說我怎么就攤上這事歧譬。” “怎么了搏存?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵瑰步,是天一觀的道長。 經(jīng)常有香客問我璧眠,道長缩焦,這世上最難降的妖魔是什么读虏? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮袁滥,結(jié)果婚禮上盖桥,老公的妹妹穿的比我還像新娘。我一直安慰自己题翻,他們只是感情好揩徊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嵌赠,像睡著了一般塑荒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姜挺,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天齿税,我揣著相機(jī)與錄音,去河邊找鬼炊豪。 笑死凌箕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溜在。 我是一名探鬼主播陌知,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼掖肋!你這毒婦竟也來了仆葡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤志笼,失蹤者是張志新(化名)和其女友劉穎沿盅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纫溃,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腰涧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了紊浩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窖铡。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坊谁,靈堂內(nèi)的尸體忽然破棺而出费彼,到底是詐尸還是另有隱情,我是刑警寧澤口芍,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布箍铲,位于F島的核電站,受9級(jí)特大地震影響鬓椭,放射性物質(zhì)發(fā)生泄漏颠猴。R本人自食惡果不足惜关划,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翘瓮。 院中可真熱鬧贮折,春花似錦、人聲如沸春畔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽律姨。三九已至振峻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間择份,已是汗流浹背扣孟。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荣赶,地道東北人凤价。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像拔创,于是被迫代替她去往敵國和親利诺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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

  • 前言 前段時(shí)間因?yàn)橐龇乐怪睾灻墓ぷ魇T铮谶@方面的理解出現(xiàn)了錯(cuò)誤慢逾,所以現(xiàn)在來整理下。 主要內(nèi)容包括: App簽名 ...
    oncezou閱讀 2,081評(píng)論 0 0
  • 序言 讀取虛擬內(nèi)存時(shí)灭红,如果對(duì)應(yīng)的內(nèi)容在物理空間不存在侣滩,會(huì)觸發(fā)file backed page in事件,用inst...
    tom__zhu閱讀 1,393評(píng)論 0 12
  • 復(fù)習(xí)下杰哥的iOS簽名機(jī)制: 學(xué)習(xí)路線 常見英文 學(xué)前須知 為了便于學(xué)習(xí)变擒,設(shè)計(jì)4個(gè)虛擬人物Alice君珠、Bob:互相...
    AlanGe閱讀 365評(píng)論 0 0
  • 深度長文:細(xì)說iOS代碼簽名 0x00 前言 2008年蘋果發(fā)布iOS2.0時(shí)引入了強(qiáng)制代碼簽名(Mandator...
    張賀通閱讀 427評(píng)論 0 0
  • 概述:加密解密單向散列函數(shù)數(shù)字簽名iOS簽名機(jī)制 和 證書重簽名 一、加密解密 1.1娇斑、常見的英文單詞encryp...
    IIronMan閱讀 655評(píng)論 0 2