Linux系统搭建私有CA证书服务器
什么是证书? 它是用来证明某某东西确实是某某东西的东西。通俗地说,证书就好比公章。通过公章,可以证明相关文件确实是对应的公司发出的。 理论上,人人都可以找个证书工具,自己做一个证书。什么是CA? CA全称Certificate Authority,也叫“证书授权中心”。它是负责管理和签发证书的第三方机构。什么是CA证书? CA证书,就是CA颁发的证书。 前面说了,人人都可以找工具制作证书
什么是证书?
它是用来证明某某东西确实是某某东西的东西。通俗地说,证书就好比公章。通过公章,可以证明相关文件确实是对应的公司发出的。
理论上,人人都可以找个证书工具,自己做一个证书。
什么是CA?
CA全称Certificate Authority,也叫“证书授权中心”。它是负责管理和签发证书的第三方机构。
什么是CA证书?
CA证书,就是CA颁发的证书。
前面说了,人人都可以找工具制作证书。但是制作出来的证书是没用的,因为不具备权威性。
证书的签发过程
a.服务方 S 向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证
b.CA 通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等
c.如信息审核通过,CA 会向申请者签发认证文件-证书。
证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名
签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA 的私钥对信息摘要进行加密,密文即签名
d.客户端 C 向服务器 S 发出请求时,S 返回证书文件
e.客户端 C 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应 CA 的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即公钥合法;
f.客户端然后验证证书相关的域名信息、有效时间等信息
g.客户端会内置信任 CA 的证书信息(包含公钥),如果CA不被信任,则找不到对应 CA 的证书,证书也会被判定非法。
在这个过程注意几点
1.申请证书不需要提供私钥,确保私钥永远只能服务器掌握
2.证书的合法性仍然依赖于非对称加密算法,证书主要是增加了服务器信息以及签名
3.内置 CA 对应的证书称为根证书,颁发者和使用者相同,自己为自己签名,即自签名证书
证书=公钥+申请者与颁发者信息+签名
CA证书常用于https (SSL加密)
1.生成四个证书文件
[root@ca ~]# mkdir -p /etc/pki/CA/{certs,newcerts,crl,private}
Certs 证书存放位置
Newcerts 新申请的证书位置
Crl 吊销的证书
Private 密钥存放位置
2.生成证书索引数据库文件
要进入到CA中生成
[root@ca CA]# touch index.txt
3.指定一个颁发证书的序列号
[root@ca CA]# echo "01">serial
4.为CA创建私钥
私钥默认存放在/etc/pki/CA/private
[root@ca CA]# openssl genrsa -out private/cakey.pem 2048
2048 是代表位数 位数越多越安全 常见的有 2048、4096
5.为CA创建根证书
CA根证书默认存放在CA下面
[root@ca CA]# openssl req -new -x509 -nodes -key private/cakey.pem -days 7300 -out cacert.pem
加时间-days 7300 20年
req 表示证书输出的请求
-key密钥
-new表示新的请求
-out输出路径
-x509 签发x509格式证书命令
填写证书请求
国家=CN
省=shanghai
城市=shanghai
组织=cdll
组织单位=system
公用民=cdll.com
电子邮箱=
二.客户端
1.客户端创建证书申请
[root@web ~]# openssl req -new -nodes -keyout web.llzz.com.key -out web.llzz.com.csr
web.llzz.com.key 表示生成的密钥
web.llzz.com.csr 证书请求文件
2.将生成的csr请求文件发送给CA证书中心
[root@web ~]# scp web.llzz.com.csr 10.10.30.101:/etc/pki/CA ip后面跟文件存放的位置
存放在CA下更方便
3.为客户端颁发证书
4.当CA私钥与根证书存放在默认位置时,不需要指定
CA私钥默认存放位置:/etc/pki/CA/private/
CA根证书默认存放位置:/etc/pki/CA
-days 3650 时间=10 年
[root@ca /]# openssl ca -in web.llzz.com.csr -days 3650 -out web.llzz.com.crt
5.将生成的crt 证书传到客户端
[root@ca CA]# scp web.llzz.com.crt 10.10.30.102:/root
更多推荐
所有评论(0)