Linux系统:CentOS 7 CA证书服务器部署

这篇具有很好参考价值的文章主要介绍了Linux系统:CentOS 7 CA证书服务器部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、理论

1.CA认证中心

2.CA证书服务器部署

二、实验

1. CA证书服务器部署

三、总结


一、理论

1.CA认证中心

(1)概念

CA :CertificateAuthority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书

功能:证书发放、证书更新、证书撤销和证书验证。

作用:身份认证,数据的不可否认性

端口:443

证书请求文件:CSR是Cerificate Signing Request的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书的私钥签名就生成了证书文件,也就是颁发给用户的证书。

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

(2)名词介绍

①key 私钥  = 明文--自己生成(genrsa )

②csr 公钥  = 由私钥生成

③crt  证书  = 公钥 + 签名(自签名或者由CA签名)

④证书:server.crt文件就是证书

⑤签名:使用私钥key与公钥csr进行证书server.crt生成的过程称为签名文章来源地址https://www.toymoban.com/news/detail-684927.html

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 

(3)https 与 http 区别

  1. HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。

  2. 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

  3. HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS 除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。

  4. http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。

  5. HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 (4)https原理

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

原理如下:

1.客户端发起 HTTPS 请求
这个没什么好说的,就是用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口。

2.服务端的配置
采用 HTTPS 协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl 就是个不错的选择,有 1 年的免费服务)。
这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3.传送证书
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4.客户端解析证书
这部分工作是有客户端的 TLS 来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5.传送加密信息
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6.服务端解密信息
服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7.传输加密后的信息
这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8.客户端解密信息
客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

2.CA证书服务器部署

(1) 环境准备

表1 服务器

主机 IP地址
CA证书服务器 192.168.204.69
Apache服务器 192.168.204.186

(2)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) []:JS  //所在省
Locality Name (eg, city) [Default City]:NJ   //所在市
Organization Name (eg, company) [Default Company Ltd]:APACHE    //单位名称
Organizational Unit Name (eg, section) []:APACHE-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

(2) 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    //填写相关信息即可
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) [XX]:CN
State or Province Name (full name) []:JS
Locality Name (eg, city) [Default City]:NJ
Organization Name (eg, company) [Default Company Ltd]:APACHE
Organizational Unit Name (eg, section) []:APACHE-SERVER
Common Name (eg, your name or your server's hostname) []:jw.com
Email Address []:admin@163.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:apache


[root@clinet ssl]# ls    //最后在这个目录就生成了两个文件了
httpd.csr  httpd.key

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

(3) 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: Aug 27 10:42:07 2023 GMT
            Not After : Aug 26 10:42:07 2024 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = JS
            organizationName          = APACHE
            organizationalUnitName    = APACHE-SERVER
            commonName                = jw.com
            emailAddress              = admin@163.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                68:52:C5:41:3F:1E:7C:25:FE:06:87:79:91:F1:DD:BD:62:41:50:AE
            X509v3 Authority Key Identifier: 
                keyid:0A:47:11:F3:83:F6:6B:E7:D8:6F:C5:3F:DE:42:C6:71:B6:ED:6F:FD

Certificate is to be certified until Aug 26 10:42:07 2024 GMT (365 days)
Sign the certificate? [y/n]: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.204.186:/root/ssl
root@192.168.204.186's password: 
httpd.crt                                                      100% 4571     7.2MB/s   00:00    

(4) Apache服务器的操作

[root@clinet ssl]# ls   然后就会如下的文件
httpd.crt  httpd.csr  httpd.key
[root@clinet ~]# vim /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                   [::]:* 

(5) 浏览器访问测试

浏览器输入https://192.168.204.186访问测试
因为我们自行搭建的证书服务器颁发的证书不具备权威性,所有浏览器还是提示为不安全

点击访问出现如下画面也是可以正常访问的

this is CA

点击证书来进行查看颁发者,CA证书服务器结合httpd服务器的实验就此完成

二、实验

1. CA证书服务器部署

(1)CA证书服务器的配置

安装OpenSSL工具

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

完成

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

查看配置文件:

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

42行为相关证书的存放的目录,43行为存储签发的数字证书

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

45行为记录颁发证书的信息

 Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 51行为记录证书编号

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

切换存放证书相关的文件的目录

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

切换存放CA证书服务的私钥的目录

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

CA证书服务器创建自签名证书并设置权限为600

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

生成文件

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

CA证书服务器签发本地自签名证书(需要输入一些基本信息)

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 CA证书服务还需要创建两个文件,才可以执行颁发证书操作:

 Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

(2) Apache服务器的配置

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 写入一个页面,暂时不要启动httpd服务器:

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 创建私钥httpd.key:

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 生成文件:

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 依据私钥生成证书申请文件

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 查看在这个目录就生成了两个文件

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 然后将生成的证书申请文件发送到 CA证书服务器进行授权操作

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

(3) CA证书服务器的操作

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

然后将生成的证书文件传送会Apache服务器

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

(4) Apache服务器的操作

查看

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

编辑这个文件

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

添加这两个文件所在的路径即可

 Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 先关闭防火墙以及selinux

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

启动服务并查看端口

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

(5) 浏览器访问测试

因为自行搭建的证书服务器颁发的证书不具备权威性,所有浏览器还是提示为不安全

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

  点击访问出现如下画面也是可以正常访问的

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

 可以点击证书来进行查看

Linux系统:CentOS 7 CA证书服务器部署,服务器,运维

三、总结

名词介绍:

①key 私钥  = 明文--自己生成(genrsa )

②csr 公钥  = 由私钥生成

③crt  证书  = 公钥 + 签名(自签名或者由CA签名)

④证书:server.crt文件就是证书

⑤签名:使用私钥key与公钥csr进行证书server.crt生成的过程称为签名

到了这里,关于Linux系统:CentOS 7 CA证书服务器部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【全】OpenSSL创建生成CA证书、服务器、客户端证书及密钥说明

    本文章对应的文档: 使用OpenSSL创建生成CA证书服务器客户端证书及密钥资源-CSDN文库 https://download.csdn.net/download/weixin_41885845/88746920 服务器需要CA证书、server证书、server私钥,客户端需要CA证。 服务器需要CA证书、server证书、server私钥,客户端需要CA证书,client证书、client私钥。

    2024年01月19日
    浏览(35)
  • 自建CA,并给服务器颁发证书,将该证书安装至浏览器

    一.目标: 自建CA,并给服务器颁发证书,将该证书安装至浏览器。 二.步骤: 1.生成CA 密钥对和自签名证书: 使用 OpenSSL 工具生成 CA 密钥对和自签名证书: (1)生成一个新的 RSA 密钥对并将其保存在 ca.key 文件中。 (2)使用该密钥对生成自签名证书并将其保存在 ca.crt 文件

    2024年02月02日
    浏览(43)
  • 阿里云服务器部署Drupal网站教程基于CentOS系统

    阿里云百科分享如何在CentOS 7操作系统的ECS实例上搭建Drupal电子商务网站。Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。它用于构造提供多种功能和服务的动态网站,能支持从个人博客到大型社区等各种不同

    2024年02月13日
    浏览(32)
  • 虚拟机VMware,linux,centos,如何将项目部署到服务器上面

    vmware 是安装虚拟机的软件,centos是系统,linux是系统内核 将本地项目上线到服务器上面,如何实现呢? 准备好服务器,可以选择阿里云服务器 首先需要搭建环境,运行的主要环境是jdk+tomcat+mysql; 通过远程连接工具,将jdk版本可以直接拖拽到服务器上面, 实现tomcat配置 实现

    2024年02月15日
    浏览(42)
  • linux系统(centos、Ubuntu、银河服务器)备份

    Get Kali | Kali Linux   balenaEtcher - Flash OS images to SD cards USB drives  点击下载,等待下载完成 双击安装,等待安装完成 双击 启动  选择镜像 选择U盘    开始烧录 等地制作完成  重启电脑,按f11 ,选择正确的u盘启动 输入命令: lsblk 可以看到下图的服务器存在3个硬盘sda、sdb、s

    2024年02月10日
    浏览(47)
  • 一台阿里云服务器怎么部署多个网站?以CentOS系统为例

    本文阿里云百科介绍如何在CentOS 7系统的ECS实例上使用Nginx搭建多个Web站点。本教程适用于熟悉Linux操作系统,希望合理利用资源、统一管理站点以提高运维效率的用户。比如,您可以在一台云服务器上配置多个不同分类的博客平台或者搭建多个Web站点实现复杂业务的网站系统

    2024年02月13日
    浏览(53)
  • 云服务器 CentOS7 操作系统上安装Jpress (Tomcat 部署项目)

    xftp 新建连接 下载 jdk1.8 注:此处 CentOS7 是64位,所以下载的是:Linux x64, 文件类型为 tar.gz 的文件 JDK 官网地址:https://www.oracle.com/java/ 上传此包到云服务器上面 xShell 连接云服务器,找到 jdk1.8 所在的位置,输入解压指令: 配置 jdk 环境,输入编辑指令: 在最后一行加上环境

    2024年02月07日
    浏览(45)
  • 将Windows系统重装为Linux(CentOS 7.9)服务器

    目录 概述 制作Windows启动盘 制作CentOS启动盘 Windows部分 CentOS部分 1.第一次启动 2.第二次启动 CentOS图形化界面安装注意事项 用U盘,将Windows系统重装为CentOS 7.9系统。 软件:老毛桃、UltraISO。 准备:一台 待重装的Windows系统电脑 、 一台个人电脑 、两块十几G大小的U盘、Linux系统

    2024年02月04日
    浏览(55)
  • Inspur nf5280m5服务器Centos7.4系统重装(Raid+裸系统部署)

    前提:已经配置好了BMC及将系统安装U盘插到服务器上了。 系统安装盘信息:使用UltraISO制作,Centos7.4镜像,写入方式USB-HDD,便捷启动中写入新的驱动器引导扇区Syslinux; 一.通过MG接口访问服务器BMC管理页面,打开远程控制台。 二.点击Power的Reser Server重启系统。 三.重启后。在

    2024年02月15日
    浏览(28)
  • 【Linux】Centos 8 服务器部署:docker 安装 jdk、nginx、nacos、redis、Sentinel Dashboard

    目录 一、安装软件 (1)全部安装命令 (2)安装:jdk (3)安装:nginx  (4)安装:nacos (5)安装:redis (6)安装:Sentinel Dashboard 二、开放端口 三、启动软件  (1)启动:nacos (2)启动:nginx (3)启动:redis (4)启动:Sentinel Dashboard 四、访问网址  (1)访问:nacos 

    2024年02月06日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包