數字證書驗證過程

本地驗證過程:

1 檢查證書的有效期

2 檢查證書的密鑰用法KU和擴展密鑰用法EKU

3 檢查證書的主題或主體備用名稱SAN

4 檢查證書的CA簽名。證書鏈的構建,需要檢查每個CA證書的有效性,比如:有效期;密鑰用法,是否支持證書籤發;路徑長度限制(基本約束);名字約束檢查;策略約束檢查;再用ACL檢查CA是否已經註銷

5 通過CRL檢查證書是否已經註銷


基於Client-Server模式的證書驗證協議主要有

OCSP

需要客戶端構建證書鏈並驗證(因爲需要知道CA的主題密鑰標識),再到OCSP服務器檢查證書的註銷狀態

LDAP

雖然LDAP的目的不是用來驗證證書的有效性,但也有些設備是用LDAP來驗證證書的。客戶端本地檢查完證書的有效期,通過後再提交證書的主題信息到LDAP去查詢,如果能查詢到,再匹配下證書摘要是否相同,都通過後就表示此證書有效。

SCVP

服務端構建證書鏈並驗證,服務端檢查證書的註銷狀態


JCA證書驗證架構:


JDK實現代碼:http://www.docjar.com/html/api/sun/security/provider/certpath/PKIXCertPathValidator.java.html


參考資料:

“Complete CRLs with expired certs?”

http://www.ietf.org/mail-archive/web/pkix/current/msg03772.html



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章