证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。
就是说主要包含签发机构的签名和证书所有人的公钥
数据交互时,证书所有人将自己的数字证书授权给一些人,这些人可以通过签发机构的公钥确认签发机构,证书所有人的公钥认证数据
一、数字证书:
一个字,太麻烦了
消息摘要算法----完整性
对称非对称加密-保密性
数字签名----------抗否认性
数字证书----------集合多种密码学算法:
自带:
①公钥信息-----------------完成加解密
②数字签名-----------------鉴别消息来源
③摘要信息-----------------完整性
④用户身份信息-----------认证性
为发布公钥提供了一种途径,成为加密算法及公钥载体
数字证书采用了公钥基础设施:
非对称加密算法:数据加密/解密->数据机密性
数字签名算法:数据签名、验证->数据完整性、抗否认性
消息摘要算法:数字证书摘要->数字证书完整性
二、现在我们用keytool产生的密钥库和证书为例:
注意几个点:
1、keytool最后产生了zlex.cer和zlex.keystore两个东西
2、数字证书(certificate)直接能得到公钥;
3、要得到私钥要用密钥库及密码;