IOS開發(fā)者通常需要跟各種數(shù)字證書、公鑰和密鑰打交道。相信各位開發(fā)者經(jīng)常會(huì)在開發(fā)的過程當(dāng)中經(jīng)常會(huì)被這些證書啊、密鑰啊、公鑰之類弄的心力憔悴了。今兒,就這個(gè)問題跟大家啰嗦兩句關(guān)于IOS數(shù)字證書的問題。
公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出柏鄉(xiāng)免費(fèi)做網(wǎng)站回饋大家。
什么是數(shù)字證書?
數(shù)字證書是互聯(lián)網(wǎng)的數(shù)字形式的標(biāo)識(shí)認(rèn)證,與護(hù)照或駕駛證的智能非常相似。數(shù)字證書是一種憑據(jù)。提供了某個(gè)實(shí)體的標(biāo)識(shí)和其他支持信息。數(shù)字證書由頒發(fā)機(jī)構(gòu)(CA)的權(quán)威機(jī)構(gòu)發(fā)布的。因此,該權(quán)威機(jī)構(gòu)負(fù)責(zé)擔(dān)保證書信息的有效性。而且數(shù)字證書通常情況下只在特定的時(shí)段內(nèi)有效。
數(shù)字證書包含證書中所標(biāo)識(shí)的實(shí)體的公鑰(就是說你的證書里有你的公鑰),由于證書將公鑰與特定的個(gè)人匹配,并且該證書的真實(shí)性由頒發(fā)機(jī)構(gòu)保證(就是說可以讓大家相信你的證書是真的),因此,數(shù)字證書為如何找到用戶的公鑰并知道它是否有效這一問題提供了解決方案。
數(shù)字證書的基本加密原理
數(shù)字證書是采用了公鑰體制,利用一堆互相匹配的密鑰進(jìn)行加密、解密的一種認(rèn)證文件。每個(gè)用戶自己設(shè)定一把特定的只屬于自己所有的私鑰,用它進(jìn)行解密和簽名;同時(shí)設(shè)定一把公開的密鑰(既公鑰)由本人公開,為某一組用戶共享,用于加密和簽名驗(yàn)證。
通俗來說,在IOS開發(fā)中,每一個(gè)用戶都需要有一對(duì)公鑰和私鑰,私鑰給自己用,公鑰由自己公開給別人用。這樣。當(dāng)用戶發(fā)送文件時(shí),用私鑰簽名,而持有公鑰的用戶可以確保該信息或文件是由提供公鑰用戶發(fā)送的。這個(gè)過程就是數(shù)字簽名。
而當(dāng)用戶接收文件時(shí),他人使用公鑰加密,該用戶可以用私鑰解密,這樣就確保了該信息和文件只能用持有私鑰的用戶接收到??梢员苊庑畔⒑臀募男孤?。
關(guān)于公鑰、私鑰的解釋
公鑰和私鑰是一種不對(duì)稱的加密方式,相對(duì)應(yīng)的還有對(duì)稱性加密的方式——如我們大家通常用到的用戶名和密碼登陸的方式。公鑰和私鑰的加密方式目的是為了實(shí)現(xiàn)數(shù)據(jù)的安全傳輸。適用于發(fā)送方發(fā)送給接收方的信息需要加密,數(shù)據(jù)傳輸過程中不可見是加密的。采用公鑰和私鑰的數(shù)據(jù)加密傳輸是為了保證發(fā)送方的準(zhǔn)確性,他人無法冒充發(fā)送方發(fā)送信息。要實(shí)現(xiàn)這一目的,就必須發(fā)送方和接收方都有公鑰和私鑰。
一般而言,公鑰是給公眾用戶使用的,可以通過下載、郵件等方式公布給使用者,公鑰的作用在于加密和驗(yàn)證。私鑰則是給自身的,需要小心保存。私鑰是用來解密和簽章的,首先就KEY的所有權(quán)來說,私鑰只能是個(gè)人擁有。
舉個(gè)例子大家可能就更明白了。比如說,現(xiàn)在我要給你發(fā)送一個(gè)加密的消息:
首先,我必須擁有你的公鑰,你也必須擁有我的公鑰。
其次,我用你的公鑰給這個(gè)消息加密,這樣就保證這個(gè)消息不被別人看到,而且保證這個(gè)消息在傳送過程中沒有被修改。你收到消息后,用你的私鑰就可以解密,就能看到內(nèi)容。
最后,我用我的私鑰給這個(gè)消息加密,發(fā)送到你手里后,你可以用我的公鑰解密。因?yàn)樗借€只有我手里有,這樣就保證了這個(gè)消息是我發(fā)送的。
當(dāng)A->B發(fā)送資料時(shí),A會(huì)使用B的公鑰加密,這樣才能確保只有B能解開,否則普羅大眾都能解開加密的訊息,就是去了資料的保密性。驗(yàn)證方面則是使用簽 驗(yàn)章的機(jī)制,A傳資料給大家時(shí),會(huì)以自己的私鑰做簽章,如此所有收到訊息的人都可以用A的公鑰進(jìn)行驗(yàn)章,便可確認(rèn)訊息是由 A 發(fā)出來的了。
IOS的安全性在于其嚴(yán)密而強(qiáng)大的認(rèn)證體系和數(shù)字證書之上,不過這對(duì)開發(fā)者也造成了一定困惑。希望大家在看了上述的介紹之后,對(duì)數(shù)字證書和認(rèn)證能夠擁有一個(gè)較為清晰的人是。特別是蘋果公司經(jīng)常會(huì)更改其數(shù)字認(rèn)證條款。各位開發(fā)者還要多關(guān)注這方面的相關(guān)報(bào)道。避免在開發(fā)過程中耗費(fèi)大量精力。