數(shù)字證書介紹
數(shù)字證書簡稱證書窑睁,它是一個經(jīng)證書授權(quán)中心(即在PKI中的證書認(rèn)證機(jī)構(gòu)CA)數(shù)字 簽名的文件,包含擁有者的公鑰及相關(guān)身份信息葵孤。 數(shù)字證書可以說是Internet上的安全護(hù)照或身份證担钮。當(dāng)人們到其他國家旅行時(shí),用護(hù)照可以證實(shí)其身份尤仍,并被獲準(zhǔn)進(jìn)入這個國家箫津。數(shù)字證書提供的是網(wǎng)絡(luò)上的身份證明。
數(shù)字證書技術(shù)解決了數(shù)字簽名技術(shù)中無法確定公鑰是指定擁有者的問題
證書結(jié)構(gòu)
證書結(jié)構(gòu).png
簡單的證書包含一個公鑰宰啦、名稱以及證書授權(quán)中心的數(shù)字簽名苏遥。一般情況下證書中 還包括密鑰的有效期,頒發(fā)者(證書授權(quán)中心)的名稱绑莺,該證書的序列號等信息暖眼,證書的結(jié)構(gòu)遵循X.509 v3版本的規(guī)范。
書接上文纺裁,數(shù)字證書就是解決了數(shù)字簽名存在的問題進(jìn)而引入的诫肠,在數(shù)字簽名中,對方無法知道公鑰就是你的欺缘,因此在數(shù)字證書中栋豫,加上了一個可信的第三方——CA,由CA來給一個設(shè)備頒發(fā)證書谚殊,證書中包含以下的這些信息:
- 版本:即使用X.509的版本丧鸯,目前普遍使用的是v3版本(0x2)。
- 序列號:頒發(fā)者分配給證書的一個正整數(shù)嫩絮,同一頒發(fā)者頒發(fā)的證書序列號各不相同丛肢,可用與頒發(fā)者名稱一起作為證書唯一標(biāo)識。
- 簽名算法:頒發(fā)者頒發(fā)證書使用的簽名算法剿干。
- 頒發(fā)者:頒發(fā)該證書的設(shè)備名稱蜂怎,必須與頒發(fā)者證書中的主體名一致。通常為CA服務(wù)器的名稱置尔。
- 有效期:包含有效的起杠步、止日期,不在有效期范圍的證書為無效證書榜轿。
- 主體名:證書擁有者的名稱幽歼,如果與頒發(fā)者相同則說明該證書是一個自簽名證書。
- 公鑰信息:用戶對外公開的公鑰以及公鑰算法信息谬盐。
- 擴(kuò)展信息:通常包含了證書的用法甸私、CRL的發(fā)布地址等可選字段。
- 簽名:頒發(fā)者用私鑰對證書信息的簽名飞傀。
版本和序列號無需解釋颠蕴,就是CA設(shè)備用來管理證書使用的ID泣刹,簽名算法告訴用戶你該怎么驗(yàn)證這個簽名信息,頒發(fā)者就是由哪個CA頒發(fā)的犀被,有效期也不用多說椅您,用來控制證書的時(shí)效性,注意寡键,這個一般是根據(jù)客戶端時(shí)間進(jìn)行判斷掀泳。主體名,這個項(xiàng)很重要西轩,是告訴別人這個是頒發(fā)給誰的员舵,在HTTPS應(yīng)用中,通常是域名或者域名的通配符藕畔。公鑰信息即為用戶的對外的公鑰马僻,如果需要進(jìn)行數(shù)字加密傳輸時(shí),可以使用的注服。擴(kuò)展項(xiàng)一般用來添加一些補(bǔ)充信息韭邓,類似于備注。簽名溶弟,這也是整個證書的有效性的保證女淑,算是身份證的防偽標(biāo)識,當(dāng)對方校驗(yàn)?zāi)愕淖C書是否為真的時(shí)候辜御,就是去用頒發(fā)者CA的公鑰進(jìn)行解密鸭你,和簽名數(shù)據(jù)的HASH摘要進(jìn)行對比。