CA数字证书服务

CA Certificate Authority 数字证书授权中心

被通信双方信任的,独立的第三方机构

负责证书颁发,验证,撤销等管理

PKI公钥基础设施

一套标准的密钥管理平台

通过公钥加密,数字证书技术确保信息安全

PKI体系的基础组成

权威认证机构(CA)

数字证书库,密钥备份及恢复系统

证书作废系统,应用接口


OpenSSL加密/解密工具

对称加密:

— enc 算法 -e -in 输入文件 -out 输出文件 #加密

— enc 算法 -d -in 输入文件 -out 输出文件 #解密

[root@localhost ~]# which openssl

/usr/bin/openssl

[root@localhost ~]# rpm -qf /usr/bin/openssl

openssl-1.0.1e-42.el7_1.9.x86_64

[root@localhost ~]# vim f1.txt

[root@localhost ~]# openssl enc -des3 -e -in f1.txt -out f1.txt.enc

enter des-ede3-cbc encryption password:

Verifying - enter des-ede3-cbc encryption password:

[root@localhost ~]# ls f1*

f1.txt  f1.txt.enc

[root@localhost ~]# rm -rf f1.txt

[root@localhost ~]# openssl enc -des3 -d -in f1.txt.enc  -out f1.txt

enter des-ede3-cbc decryption password:

[root@localhost ~]# ls f1*

f1.txt  f1.txt.enc


部署CA服务器

第一步:配置CA签署环境

[root@CA ~]# ls /etc/pki/CA/ #工作目录

certs  crl  newcerts  private

[root@CA ~]# ls /etc/pki/CA/certs/ #存储签发的数字证书

[root@CA ~]# touch /etc/pki/CA/index.txt #存储发放出去的数字证书信息

[root@CA ~]# chmod 600 /etc/pki/CA/index.txt

[root@CA ~]# touch /etc/pki/CA/serial #证书编号文件

[root@CA ~]# chmod 600 /etc/pki/CA/serial

[root@CA CA]# echo 01 > serial 

[root@CA CA]# cat serial 

01


[root@CA ~]# vim /etc/pki/tls/openssl.cnf #调整配置

 42 dir             = /etc/pki/CA   #CA签署工作目录

 43 certs           = $dir/certs   #用户证书存放路径

 44 crl_dir         = $dir/crl 

 45 database        = $dir/index.txt #存储发放出去的数字证书信息

 

 50 certificate     = $dir/my-ca.crt   #CA根证书文件名 

 51 serial          = $dir/serial #证书编号文件

 55 private_key     = $dir/private/my-ca.key #CA私钥文件名


130 countryName_default             = CN

135 stateOrProvinceName_default     = beijing

138 localityName_default            = beijing

141 0.organizationName_default      = Xuenqlve

148 organizationalUnitName_default  = ope


 84 [ policy_match ] #匹配策略

 85 countryName             = match

 86 stateOrProvinceName     = match

 87 organizationName        = match

 88 organizationalUnitName  = optional

 89 commonName              = supplied

 90 emailAddress            = optional


match 必须匹配

optional 可选

supplied 忽略


第二步:为CA生成私钥

[root@CA ~]# cd /etc/pki/CA/private/

[root@CA private]# openssl genrsa -des3 2048 > my-ca.key

Generating RSA private key, 2048 bit long modulus

.....................................................................+++

..+++

e is 65537 (0x10001)

Enter pass phrase: #设私钥口令

Verifying - Enter pass phrase: #重复私钥口令

[root@CA private]# ls

my-ca.key

[root@CA private]# chmod 600 my-ca.key 


第三步:为CA服务器创建根证书

-new 新文件

-x509 证书的版式

./private/my-ca.key  私钥文件名

-day 365 有效日期

[root@CA private]# cd ..

[root@CA CA]# openssl req -new -x509 -key ./private/my-ca.key -days 365 > my-ca.crt 

Enter pass phrase for ./private/my-ca.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [beijing]:

Locality Name (eg, city) [beijing]:

Organization Name (eg, company) [Xuenqlve]:

Organizational Unit Name (eg, section) [ope]:

Common Name (eg, your name or your server's hostname) []:Xuenqlve.ca.com

Email Address []:Xuenqlve@163.com




第四步:发布根证书

可以通过Web,FTP等方式进行发布

[root@CA ~]# yum -y install httpd

[root@CA ~]# systemctl stop firewalld

[root@CA ~]# setenforce 0

[root@CA ~]# systemctl restart httpd

[root@CA ~]# systemctl enable httpd.service 

[root@CA ~]# mkdir /var/www/html/ca

[root@CA ~]# cp /etc/pki/CA/my-ca.crt /var/www/html/ca/


客户端下载应用

[root@test ~]# wget http://192.168.4.2/ca/my-ca.crt

--2018-01-04 20:27:49--  http://192.168.4.2/ca/my-ca.crt

正在连接 192.168.4.2:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:1399 (1.4K)

正在保存至: “my-ca.crt”


100%[======================================>] 1,399       --.-K/s 用时 0s      


2018-01-04 20:27:49 (141 MB/s) - 已保存 “my-ca.crt” [1399/1399])


[root@test ~]# firefox 

进入火狐浏览器 点击浏览器右侧打开菜单--> 点击首选项

然后点击高级--->点击证书--->点击查看证书

Linux 部署CA数字证书服务_ 部署


点击证书机构--->点击导入

Linux 部署CA数字证书服务_Linux_02


在计算机上找到刚刚下载的 my-ca.crt 证书 ---> 点击打开

Linux 部署CA数字证书服务_Linux_03

勾选信任--->点击确定

Linux 部署CA数字证书服务_Linux_04

然后就可以看见我们自己搭建的证书信息了

Linux 部署CA数字证书服务_ 部署_05