CentOS 7 CA证书服务器搭建

CA认证概述

证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。------来源百度百科

环境准备

主机IP地址
CA证书服务器192.168.1.10
Apache服务器192.168.1.20

搭建过程如下

CA证书服务器的配置

[root@server ~]# yum install -y openssl     //安装OpenSSL工具默认是安装好了的 
[root@server ~]# vim /etc/pki/tls/openssl.cnf    //查看配置文件
42 dir             = /etc/pki/CA           #相关证书的存放的目录
43 certs           = $dir/certs            #存储签发的数字证书
45 database        = $dir/index.txt        # 记录颁发证书的信息
51 serial          = $dir/serial            #记录证书编号
[root@server ~]# cd /etc/pki/CA/    //这个目录是存放证书相关的文件的地方
[root@server CA]# ls
certs  crl  newcerts  private
[root@server CA]# cd private/    //这个目录是存放CA证书服务的私钥的地方

CA证书服务器创建自签名证书并设置权限为600
[root@server ~]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
..............................................+++
.............................................................+++
e is 65537 (0x10001)

CA证书服务器签发本地自签名证书(需要输入一些基本信息)
[root@server ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
Country Name (2 letter code) [XX]:CN      //国家
State or Province Name (full name) []:SC  //所在省
Locality Name (eg, city) [Default City]:CD   //所在市
Organization Name (eg, company) [Default Company Ltd]:ZABBIX    //单位名称
Organizational Unit Name (eg, section) []:ZABBIX-SERVER  //组织单位名称
Common Name (eg, your name or your server's hostname) []:jw.com    //单位的域名
Email Address []:admin@163.com   邮箱

CA证书服务还需要创建两个文件,才可以执行颁发证书操作
[root@server ~]# cd /etc/pki/CA/    //进入这个目录
[root@server CA]# touch index.txt    //创建记录申请证书的文件
[root@server CA]# echo 01 > serial    //证书编号
[root@server CA]# cat serial 
01

Apache服务器的配置

[root@clinet ~]# yum install -y httpd mod_ssl 
[root@clinet ~]# echo "this is CA " >> /var/www/html/index.html     //写入一个页面,暂时不要启动httpd服务器

创建私钥httpd.key
[root@clinet ~]# mkdir ssl    //创建一个目录
[root@clinet ~]# cd ssl/
[root@clinet ssl]# (umask 077;openssl genrsa -out /root/ssl/httpd.key 2048)
Generating RSA private key, 2048 bit long modulus
......+++
................................................................+++
e is 65537 (0x10001)

依据私钥生成证书申请文件
[root@clinet ssl]# openssl req -new -key httpd.key -out httpd.csr    //填写相关信息即可
[root@clinet ssl]# ls    //最后在这个目录就生成了两个文件了
httpd.csr  httpd.key

然后我们将生成的证书申请文件发送到 CA证书服务器进行授权操作
[root@clinet ssl]# scp httpd.csr root@192.168.1.10:/

CA证书服务器的操作

[root@server /]# openssl ca -in httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Nov  2 06:36:27 2020 GMT
            Not After : Nov  2 06:36:27 2021 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = SC
            organizationName          = ZABBIX
            organizationalUnitName    = ZABBIX-SERVER
            commonName                = jw.com
            emailAddress              = admin@163.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                1B:08:30:E6:13:7A:94:26:37:C6:AA:BB:40:D8:B0:01:52:04:95:54
            X509v3 Authority Key Identifier: 
                keyid:E8:F0:29:85:94:21:DA:C5:2F:47:BF:62:E8:DC:BE:78:FB:51:47:BB

Certificate is to be certified until Nov  2 06:36:27 2021 GMT (365 days)
Sign the certificate? [y/n]:y   //输入y是否要进行签署操作


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

然后我们在将生成的证书文件传送会Apache服务器即可
[root@server /]# scp /etc/pki/CA/certs/httpd.crt root@192.168.1.20:/root/ssl
root@192.168.1.20's password: 
httpd.crt                                                      100% 4571     7.2MB/s   00:00    

Apache服务器的操作

[root@clinet ssl]# ls   然后就会如下的文件
httpd.crt  httpd.csr  httpd.key
[root@clinet ~]# vi /etc/httpd/conf.d/ssl.conf   //然后我们编辑这个文件   添加这两个文件所在的路径即可
   100 SSLCertificateFile /root/ssl/httpd.crt
   107 SSLCertificateKeyFile /root/ssl/httpd.key
   
先关闭防火墙以及selinux 不然等下启动会出现问题
[root@clinet ssl]# systemctl stop firewalld   
[root@clinet ssl]# setenforce 0
[root@clinet ssl]# systemctl start httpd
[root@clinet ssl]# ss -tan |grep 80
LISTEN     0      128       [::]:80                    [::]:*   
[root@clinet ssl]# ss -tan |grep 443
LISTEN     0      128       [::]:443                   [::]:* 

浏览器输入https://192.168.1.20访问测试
因为我们自行搭建的证书服务器颁发的证书不具备权威性,所有浏览器还是提示为不安全
在这里插入图片描述
点击访问出现如下画面也是可以正常访问的
在这里插入图片描述
我可以点击证书来进行查看
在这里插入图片描述
至此,CA证书服务器结合httpd服务器的实验就此完成

  • 16
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ball-4444

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值