
從證書的最終使用者而言,數字證書可分成系統證書與用戶證書。系統證書指CA系統自身的證書,包括CA中心的證書、業務受理點的證書及CA系統操作員的證書;用戶證書從應用角度可分為個人用戶證書、企業用戶證書和服務器證書。一個完善的CA中心應能簽發以上各類證書。
從證書的用途而言,數字證書可分成簽名證書與加密證書。簽名證書用來簽名用戶信息,為了確保信息的不可否認性;加密證書用來加密用戶傳送信息,來保障信息的真實性與完整性。若A要發送簽名消息給B,A用私鑰簽名信息,B接收到消息後,用A的簽名證書中的公鑰對簽名驗證。若A要發送加密消息給B,A用B的加密證書中的公鑰加密消息,B接收到消息後,用私鑰解密。CA需為加密證書備份私鑰,而簽名證書無須備份私鑰。因此,證書籤發過程會因密鑰是否需備份而有些不同。證書的頒發流程主要有如下四個步驟。
1.申請人提交證書請求
若證書需備份私鑰,由CA產生公私鑰對,證書請求中只有個人信息。若證書無需備份私鑰,在用戶端產生公私鑰對,證書請求里除個人信息外,還有公鑰信息。
2.RA對證書請求進行審核
RA審核用戶資料,審核用戶相關的關鍵資料與證書請求信息的一致性。更高級別的證書得由CA進一步的審核。
3.CA生成證書
證書的生成過程會因密鑰是否需要備份而有所差異,下面分情況討論。
①密鑰需要備份。
CA中心為備份密鑰,需有密鑰備份公私鑰對,公鑰backupkey用來備份用戶私鑰,私鑰recoverey用於恢復用戶私鑰。
·生成密鑰恢復碼。
第一时间產生一個隨機數r,然後用backupkey對r進行加密,得到 eneryptedkey,存入數據庫。
·生成用戶公私鑰對
第一时间選擇公私鑰對的長度(512bit或1024bit),然後用r將生成的用戶私鑰加密按PKCS#8打包成privatekeyp8,公鑰寫入證書結構中。
·生成PKCS#7證書。
根據已賦值的證書結構,生成PKCS#7格式的證書文件cetp7.spc。
·生成PKCS#12文件。
將privatekeyp8和cetp7.spc打包成PKCS#12格式的證書文件cetp12.p12,以eneryptedCert域名存入數據庫。
②密鑰不需備份。
·導入證書申請。
第一时间驗證數字簽名,然後把申請文件內容導入到證書結構中。
·簽發證書。
根據已賦值的證書結構,生成PKCS#7證書文件certp.spc。
4.證書發佈
將證書發佈到LDAP服務器上。
5.下載並安裝證書
下載個人證書,並安裝到瀏覽器中。備份私鑰的證書安裝過程中要輸入證書安裝密碼r。
