本笔记来源: 一起学加密(23)——证书是什么_哔哩哔哩_bilibili
23,证书是什么
①数字证书
证书certificate是一个在数字世界里用来认证用户或者设备的,它是由一些受信任的机构签发一个特殊的"文件" ,这个文件可以用来证明一个密钥属于特定的用户和设备,用户和设备从而可以使用该认证过的密钥来代表自己的身份,进行消息的传递。
这种用来签发证书的机构,我们称之为certificate authority(CA), 经由它签发的"文件" 我们称之为certificate证书。
---------------------------------------------------------------------------------------------------------------------------------
数字签名是为了证明拥有者私钥的合法性。我们在发送消息时会通过公钥加密然后发给私钥的拥有者,如果我们获得的这个公钥是非法的,是别人伪造的,那么伪造公钥的这个人就可以用它的私钥来解密我们的消息来造成损失。所以如何证明我们手里的公钥是合法的,针对这一问题出现了数字证书,那么数字证书证明的这个密钥一般都是公钥。而颁发数字证书的是CA(相当于警察局吧)
证书其实是一种特殊的签名
②证书里包含什么内容
□证书拥有者的基本信息,(比如HTTPS证书的话,包括拥有者的域名CNAME,公司或者组织名称,地点等)
□证书颁发者的基本信息
□证书拥有者的公钥
□对公钥和其他信息的签名
③颁发流程图
分析: 服务器端通过openssl生成一对密钥(公私钥),然后我们把公钥,申请者的基本信息与域名联合起来生成一个CSR文件(证书请求文件),然后把CSR发送到CA机构(专门颁发证书的机构),CA机构会做一个哈希,会获取到一个摘要(哈希值)。然后CA机构使用它自己的私钥去加密哈希值生成一个签名。签名与CSR文件一同构成这个CRT证书,然后CA机构返回证书给申请者,申请者就有了自己的服务器或者域名的一个证书了。
作为用户,当访问域名的时候,它会获取到这个证书,然后用户通过CA机构的公钥去验证这个证书的真伪(一般我们手机或电脑都内置了受信任的ca机构的公钥),如果证书确实是权威机构颁发的,则会信任。当用户解开签名,又验证了签名之后,就相信了这个CSR文件和里面的内容,也就相信服务器给用户的公钥,后面用户就可以放心的使用服务器公钥加密敏感信息
--------------------------------------------------------------------------------------------------------------------------------
自签名证书
自签名证书顾名思义,就是不经过CA, 而是自己通过自己的私钥进行签名产生的证书。
24,openssl生成自签名证书
1.我们先创建一个文件夹,在这个文件夹存储一些CA相关的内容
2.生成私钥,也就是根证书
3. 生成证书
以文本的形式查看证书
25,web服务器申请证书
1.创建存储网站站点密钥的目录
2.生成web服务器端私钥
3.查看csr
4.CA签发证书
5.查看证书
Issuer: 是CA的信息
Subject:是站点的信息
多级证书申请流程
还没看完,还会回来继续更新的...........................