一个证书就是一组小容量的数据,这些数据包含了它自身的几条信息。这个数据可以包含自身的Email地址,名字,证书使用类型,有效期,AIA和CDP位置的URL。证书还可以包含秘钥对,秘钥对中的私钥和公钥被用来进行身份验证,数字签名和加密。当证书在以下条件中使用时会生成秘钥对:

  1. 当内容被公钥加密了,它只能通过私钥来解密

  2. 当内容被私钥加密了,它只能通过公钥来解密

  3. 一个单独的秘钥对中,找不到其他同一关系秘钥

  4. 在合理的时间内,无法通过公钥推导出私钥,反之亦然

在注册的过程中,秘钥对会在客户端上生成,然后公钥会随着证书签名申请一起被发送到CA,接着CA会对证书签名申请进行验证,并用CA的私钥对随证书一起发送过来的公钥进行签名,最后将签名后的公钥发回给申请者。这个过程保证了私钥无法脱离系统(或者智慧卡),并且因为该证书的公钥是经过了CA签名的,所以该证书是受CA信任的证书。证书为公钥和实体自身所对应的私钥之间提供了一个获取信任的机制。

我们可以把证书想象成一个驾照,很多公司都认可驾照作为一种身份认证,因为驾照的颁发者是可以信赖的。公司明白某个人想要取得驾照所需要经历的过程,所以他们信任驾照颁发者对已颁发对象进行的个人的身份认证,因此驾照作为一种有效的身份认证也被他们认可,证书信任也建立在这