即为颁发者。由认证机构(CA)进行颁发。 在实验中我们将自签名证书,构建自己的根 CA。所谓自签名意思即为证书的颁发者和使用者都是自己
即为使用者。使用者会向 CA 申请证书。因为我们只有一台机器,所以直接用本机来模拟使用者。
(1)成为数字证书认证机构,构建自己的根 CA:
** -keyout:指定私钥的文件名 -out:指定证书的文件名**
进入到ca目录,构建自己的根ca
这里的操作还是有一些复杂的,一定要细心,第一遍实验的时候没有仔细看截图,导致无功而返了许多次
分别查看一下ca.key与cat.crt
可以使用命令查看到该证书的颁发者和使用者:
发现确是同一个人
(2)申请者生成私有密钥:
根据步骤提示当中的指引,我突然想到,如果能将私有密钥用之前我们所学过DES或AES进行加密,以后使用该私钥时需要提供密码,安全性是否能得到进一步的提高,于是我使用DES对syl.key 进行了加密,密文如下:
解密即可得到原私有密钥:
(3)申请者将包含公共密钥的证书请求文件发送给 CA:
先删除这个文件,再使用步骤当中另一个命令尝试一下
为了模拟,我们直接将 req.csr 拷贝到 ca 目录下
(4)CA 对发送过来的请求文件进行签名,并颁发签名过后的证书:
ca.key 是 CA 的私钥。
ca.crt 是自签名时生成的证书。
syl.crt 是签名过后得到的证书。 -CAcreateserial:生成一个序列号文件,第一次颁发证书才用这个选项,以后颁发不用这个选项,因为序列号文件已经生成了。
查看 syl.crt 证书的颁发者和申请者:
1.这一节的实验操作对我来说还是有点困难的,但认真做完之后,发现它对于我理解 CA 颁发数字证书的过程以及 OpenSSL 数字证书的应用场景都有很大好处;
2.在生成私有密钥的时候,我结合了之前DES算法加解密的知识,对生成的私有密钥进行了加密,这样以后使用私有密钥的时候也必须提供密码,可以对安全性有较大的提升
3.模拟颁发数字证书的整个流程分别为:
成为数字证书认证机构,构建自己的根 CA;
申请者生成私有密钥;
申请者将包含公共密钥的证书请求文件发送给 CA;
CA 对发送过来的请求文件进行签名,并颁发签名过后的证书.
学习时间 356分钟
操作时间 66分钟
按键次数 2145次
实验次数 11次
报告字数 2331字
是否完成 完成