申請的過程大體是:算法
1.本身本地先生成一對密匙,而後拿着本身的公匙以及其餘信息(好比說企業名稱啊什麼的)去CA申請數字證書。瀏覽器
2.CA在拿到這些信息後,會選擇一種單向Hash算法(好比說常見的MD5)對這些信息進行加密,加密以後的東西咱們稱之爲摘要。安全
單向Hash算法有一種特色就是單向不可逆的,只要原始內容有一點變化,加密後的數據都將會是千差萬別(固然也有很小的可能性會重複,有興趣的小夥伴鴿巢原理了解一下),這樣就防止了信息被篡改。服務器
3.生成摘要後還不算完,CA還會用本身的私匙對摘要進行加密,摘要加密後的數據咱們稱之爲數字簽名。加密
4.最後,CA將會把咱們的申請信息(包含服務器的公匙)和數字簽名整合在一塊兒,由此而生成數字證書。而後CA將數字證書傳遞給咱們。spa
數字證書怎麼起做用呢?io
服務器在獲取到數字證書後,服務器會將數字證書發送給客戶端,客戶端就須要用CA的公匙解密數字證書並驗證數字證書的合法性。import
那咱們如何能拿到CA的公匙呢?咱們的電腦和瀏覽器中已經內置了一部分權威機構的根證書,這些根證書中包含了CA的公匙。原理
之因此是根證書,是由於現實生活中,認證中心是分層級的,也就是說有頂級認證中心,也有下面的各個子級的認證中心,是一個樹狀結構,計算機中內置的是最頂級機構的根證書,不過不用擔憂,根證書的公匙在子級也是適用的。im
客戶端用CA的公匙解密數字證書,若是解密成功則說明證書來源於合法的認證機構。解密成功後,客戶端就拿到了摘要。