1:根證書:由權(quán)威機構(gòu)發(fā)布篷牌,在操作系統(tǒng)和網(wǎng)絡(luò)中記錄
2:數(shù)字證書的生成時分層級的添瓷,下一級證書的生成需要上一級證書的私鑰簽名鹅髓,驗證的時候也需要上一級證書的公鑰驗簽瑟押。
3:根證書是自簽名的陷寝,用自己的私鑰簽名锅很。
簽名:簽名就是在信息的后面再加上一段內(nèi)容,可以證明信息沒有被修改過凤跑。
具體操作:對一段信息hash之后得到hash值爆安,將這個hash添加到這段信息之后一起發(fā)送給別人。但是在實際操作的情況下為了防止hash值被別人修改仔引,一般將hash值加密(簽名)之后再添加到信息后面再進(jìn)行發(fā)送扔仓。
4:證書的內(nèi)容:
對象名稱
共有名稱
證書的頒發(fā)者
簽名算法(簽名也叫做指紋)
序列號
生效期 失效期
公鑰
簽名
5.證書的生成:
證書的頒發(fā)者在得到證書申請者的一些必要的信息(對象名稱,公鑰咖耘,私鑰)之后翘簇,證書的頒發(fā)者通過哈希得到證書摘要,并用證書頒發(fā)者的私鑰給這個摘要加密儿倒,得到數(shù)字簽名版保。綜合所有信息生成包含公鑰和私鑰的兩個證書。
6.證書的驗證:
證書的驗證:
我們"ABC Company"申請到這個證書后,我們把證書投入使用彻犁,我們在通信過程開始時會把證書發(fā)給對方叫胁,對方如何檢查這個證書的確是合法的并且是我們"ABC Company"公司的證書呢?
1.首先應(yīng)用程序(對方通信用的程序汞幢,例如IE驼鹅、OUTLook等)讀取證書中的Issuer(發(fā)布機構(gòu))為"SecureTrust CA" ,然后會在操作系統(tǒng)中受信任的發(fā)布機構(gòu)的證書中去找"SecureTrust CA"的證書急鳄,如果找不到谤民,那說明證書的發(fā)布機構(gòu)是個水貨發(fā)布機構(gòu),證書可能有問題疾宏,程序會給出一個錯誤信息张足;
2.如果在系統(tǒng)中找到了"SecureTrust CA"的證書,那么應(yīng)用程序就會從證書中取出"SecureTrust CA"的公鑰坎藐,然后對我們"ABC Company"公司的證書里面的簽名和簽名算法用這個公鑰進(jìn)行解密为牍;
3.然后使用這個簽名算法計算"ABC Company"證書的簽名,將這個計算的簽名與放在證書中的簽名對比岩馍,如果一致碉咆,說明"ABC Company"的證書肯定沒有被修改過并且證書是"SecureTrust CA" 發(fā)布的,證書中的公鑰肯定是"ABC Company"的蛀恩。對方然后就可以放心的使用這個公鑰和我們"ABC Company"進(jìn)行通信了疫铜。
4.從上面可以看出花錢買的證書不需要下載額外的私鑰證書到客戶端,但是個人自己生成的證書需要在客戶端下載私鑰双谆,因為花錢買的證書會將證書加入到受信任的證書層級里面壳咕,下一級證書由上一級證書驗證,一直到根證書顽馋。
摘自:
https://www.cnblogs.com/oc-bowen/p/5896041.html
https://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html
https://www.cnblogs.com/oc-bowen/p/5896041.html
http://oncenote.com/2014/10/21/Security-1-HTTPS/