数字证书=申请者信息+申请者公钥+颁发者信息+颁发者公钥+颁发者签名
前言:数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。本问将详细讲解数字证书的申请、签发和验证流程。
数字证书申请流程
证书申请流程如下:
- 建立连接:用户获取CA的数字证书(根证书),与CA的安全服务器建立连接。
- 申请发送:用户生成公私钥;将申请信息和申请者公钥发送到安全服务器。申请信息包括:用户姓名、身份识别号、证书有效期和其他信息等。
- 信息录入:安全服务器接收到申请信息后将信息按照特定的格式录入服务器,然后转发给RA。
- 审核签名:RA收到申请信息后会对申请者信息和公钥进行审核;审核通过后对申请信息进行数字签名,不通过则拒绝签名。
- 证书颁发:RA将用户申请信息、用户公钥和RA签名转发到CA,CA对RA数字签名做认证,如果验证通过,则同意用户请求,颁发证书。如果验证不通过,则拒绝证书申请。
- 证书获取:RA从CA获取证书,将证书传送到LDAP服务器供查询,通知用户证书下发成功,用户通过证书里用户公钥和用户私钥配对获取证书。
数字证书签发流程
证书签发流程如下:
- CA 将用户信息如公钥、用户姓名、身份识别号、证书有效期等信息打包成一个文件,然后对文件进行 Hash 计算,然后得到一个Hash值。
- 然后CA用自己的私钥对Hash值进行签名,可以理解为CA对证书做了签名。
- 最后CA将申请者信息、申请者公钥、颁发者信息、颁发者公钥、颁发者签名汇总打包形成完整的数字证书。
数字证书验证流程
证书验证流程如下:
- 客户端会对申请者信息和公钥做一次Hash运算,获取证书的Hash 2。
- 客户端用数字证书里面的颁发者公钥对颁发者签名解密得到Hash 1。
- 最后比较Hash 1和Hash 2,若Hash 1 = Hash 2,则为可信任证书;否则为不可信任证书。