数字证书的作用主要分为以下三种:
1.使用证书进行加密
如果甲方要向乙方传送加密的信息,并且甲乙双方都有自己的数字证书,则传送过程如下:
(1)甲方准备好信息(明文)传送给乙方。
(2)甲得到乙的证书,并核实其有效后,用乙方的公钥加密信息(密文)。
(3)乙方收到密文后,用证书对应的私钥对其解密,得到明文。
如果明文数据量非常大,可与数字信封相结合的方式进行加密,即甲方只用公钥来加密一个对称密钥,再用对称密钥加密明文信息。
2.使用证书进行签名
(1)甲方准备好要传送给乙方的信息(明文)。
(2)甲对该信息进行散列运算,得到一个消息摘要。
(3)甲对消息摘要用证书对应的私钥加密获取签名,并把签名附在信息后。
(4)甲方将附带有数字签名的信息传送给乙方(同时可把自己的证书一起发给乙方)。
(5)乙方收到后,对甲方的数字证书进行验证,如果有效,则用甲方证书中的公钥对签名进行解密,得到一个消息摘要,再对明文信息求消息摘要。对比这两个消息摘要,如果相同,就认定甲方的数字签名有效。
3.使用证书同时进行签名和加密
(1)甲方准备好要传送给乙方的信息(明文)。
(2)甲对该信息进行散列运算,得到一个消息摘要。
(3)甲对消息摘要用证书对应的私钥加密获取自己的签名,并把签名附在信息后。
(4)甲取得乙的证书,并验证其有效后,用乙方证书中的公钥对信息和签名的混合体进行加密。
(5)乙方收到密文后,用自己证书对应的私钥解密,获得信息和数字签名的混合体。
(6)乙方得到甲方的证书,并验证其有效后,就用证书中的公钥对签名进行解密,得到一个消息摘要,再对明文信息求消息摘要,将这两个消息摘要进行对比,如果相同,就确信甲方的数字签名有效。