搭建CA认证中心及搭建https实战

自建CA证书客户端及使用nginx搭建https
一、CA简单介绍CA,Catificate Authority,通俗的理解就是一种认证机制。它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成)来加强客户端与服务器端访问信息的安全性,同时提供证书的发放等相关工作。国内的大部分互联网公司都在国际CA机构申请了CA证书,并且在用户进行访问的时候,对用户的信息加密,保障了用户的信息安全。
二、OpenSSL实现CA证书认证中心的搭建
1、搭建环境 本文使用centos7 2~3台
2、CA配置介绍

####################################################################
[ ca ]
default_ca= CA_default      #默认CA
####################################################################
[ CA_default ]

dir=/etc/pki/CA     # CA的工作目录这里其实是定义了一个变量
certs= $dir/certs      # 证书存储路径
crl_dir= $dir/crl      # 证书吊销列表
database= $dir/index.txt   # 证书数据库列表


new_certs_dir= $dir/newcerts       #新的证书路径

certificate = $dir/cacert.pem  # CA自己的证书
serial= $dir/serial        #下一个证书的编号,十六进制,默认00
crlnumber= $dir/crlnumber  #下一个要被吊销的证书编号,十六进制,默认00
crl = $dir/crl.pem         # The current CRL
private_key = $dir/private/cakey.pem # CA 的私钥
RANDFILE= $dir/private/.rand   # private random number file

x509_extensions = usr_cert      # The extentions to add to the cert
name_opt = ca_default       # 命名方式
cert_opt = ca_default       # CA的选项

default_days= 365           # 默认证书的有效期限
default_crl_days= 30            # how long before next CRL
default_md= default     # use public key default MD
preserve= no            # keep passed DN ordering
policy= policy_match    #策略
                                #这里记录的是 将来CA在搭建的时候,以及客户端申请证书的时候,
                                需要提交的信息的匹配程度。
[ policy_match ]                # match意味着CA以及子CA必须一致
countryName = match             # 国家
stateOrProvinceName= match      # 州或者省
organizationName= match         #组织公司
organizationalUnitName  = optional
commonName= supplied
emailAddress= optional
[ policy_anything ]             #可以对外提供证书申请,这时,证书的匹配就可以不用那么严格
countryName = optional
stateOrProvinceName = optional
localityName= optional
organizationName= optional
organizationalUnitName  = optional
commonName  = supplied
emailAddress= optional

3、安装CA软件包

[root@xuegod63 Desktop]# rpm -qf `which openssl `openssl-1.0.2k-8.el7.x86_64

一般centos系统都会自带 openssl
 [root@xuegod63 CA]# vim /etc/pki/tls/openssl.cnf
 改:172 #basicConstraints=CA:FALSE为:172 basicConstraints=CA:TRUE  
  #让自己成为CA认证中心
4、CA 自签名证书(构造根CA)1、创建所需要的文件生成证书索引数据库文件 touch /etc/pki/CA/index.txt指定第一个颁发证书的序列号 echo 01 > /etc/pki/CA/serial如果不提前创建这两个文件,那么在生成证书的过程中会出现错误。首先构造根CA的证书。因为没有任何机构能够给根CA颁发证书,所以只能根CA自己给自己颁发证书。2、生成私钥文件私钥文件是非常重要的文件,除了自己本身以外,其他任何人都不能取得。所以在生成私钥文件的同时最好修改该文件的权限,并且采用加密的形式进行生成。# 执行命令生成私钥文件。

```powershell
[root@localhost ~]#(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048 )
Generating RSA private key, 2048 bit long modulus
...............+++
.......................................+++
e is 65537 (0x10001)
Enter pass phrase for /etc/pki/CA/private/cakey.pem:            #这里需要输入密码
Verifying - Enter pass phrase for /etc/pki/CA/private/cakey.pem:        #这里确认密码

查看一个生成的私钥文件,就会发现已经被加密了

[root@localhost ~]#cat /etc/pki/CA/private/cakey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值