192.168.10.187 CA服务器

192.168.10.190 web服务器

(1)搭建CA

cd /etc/pki/CA

在这个目录下创建serial和index.txt两个文件

echo 00 > serial (00是颁发证书最初的版本号)

touch index.txt

(umask 006;openssl genrsa -out private/cakey.pem 4096) 生成私钥

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 生成自签名CA证书

 

(2)web服务器申请证书,CA服务器颁发证书

mkdir /etc/httpd/conf.d/ssl 创建一个目录来存放CA颁发的证书

(umask 006;openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 2048) 生成私钥

openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr 申请证书

将这个申请证书发给CA服务器

scp /etc/httpd/conf.d/ssl/httpd.csr 192.168.10.187:/etc/pki/CA

然后CA服务器就可以颁发证书了

openssl ca -in httpd.csr -out certs/httpd.crt -days 300 颁发了一个300天有效期的证书

然后将CA服务器颁发的证书发给web服务器

scp certs/httpd.crt 192.168.10.190:/etc/httpd/conf.d/ssl/

另外CA自己的证书文件也要拷到web服务器

scp cacert.pem 192.168.10.190:/etc/httpd/conf.d/ssl/

 

此时web服务器上/etc/httpd/conf.d/ssl目录下有4个文件

 

(3)要想做一个加密的网站,自签名证书,只需安装一个模块mod_ssl即可

1.yum install mod_ssl

安装了这个模块,会生成/etc/httpd/conf.d/ssl.conf这个配置文件,接下来要配置这个配置文件

2.在/etc/httpd/conf.d/ssl.conf配置文件指定新的证书路径,私钥文件和上级CA证书的证书路径

vim /etc/httpd/conf.d/ssl.conf

配置完之后然后重新启动httpd服务

service httpd restart

ss -ntl 查看有没有443端口

(4)在/var/www/html下做一个简单的网站界面用来访问

(5)在windos上面做域名解析,C:\Windows\System32\drivers\etc\hosts

(6)用https来访问网站,安装证书

直接访问会有报警错误出现

点击证书错误

点击查看证书,进去点击证书路径,找到上级CA的证书路径,然后安装证书

 

 

 

 

然后再去用https来访问网站,就不会出现任何错误了

自己搭建CA颁发证书做https加密网站的更多相关文章

  1. 搭建CA颁发证书做https加密网站

    92.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo 0 ...

  2. 部署自建CA颁发证书实现https加密

    理论忽略:百度上很多 需求:自建证书并实现域名的https加密 部署: 在linux机器上执行以下命令生成私钥 mkdir -p /opt/ssl-cert cd  /opt/ssl-cert 1.# ...

  3. OpenSSL - 利用OpenSSL自签证书和CA颁发证书

    秘钥操作 这个命令会生成一个1024/2048位的密钥,包含私钥和公钥. openssl genrsa -out private.key 1024/2038                     ( ...

  4. 自建 ca 及使用 ca 颁发证书

    创建CA: 一.安装openssl [root@localhost ~]# yum install -y openssl 二.创建CA的相关文件及目录 mkdir /opt/root_ca & ...

  5. 几个例子理解对称加密与非对称加密、公钥与私钥、签名与验签、数字证书、HTTPS加密方式

    # 原创,转载请留言联系 为什么会出现这么多加密啊,公钥私钥啊,签名啊这些东西呢?说到底还是保证双方通信的安全性与完整性.例如小明发一封表白邮件给小红,他总不希望给别人看见吧.而各种各样的技术就是为了 ...

  6. nginx配置ssl证书实现https加密请求详解

    原文链接:http://www.studyshare.cn/software/details/1175/0 一.加密方式 1.对称加密 所谓对称加密即:客户端使用一串固定的秘钥对传输内容进行加密,服务 ...

  7. tomcat使用自签名证书实现https加密访问

    部署好java环境和tomcat之后 执行以下语句 #生成证书,keytool是java工具命令,-genkey生成证书,-alias证书名称,-keyalg应该是指算法,-keystore是证书存储 ...

  8. https 加密、http2.0、keep-alive

    原文地址:https://ainyi.com/44 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议 ...

  9. https加密流程

     引用其它博主博客,在这里谢谢这位博主,原博客地址:https://blog.csdn.net/xincai/article/details/51954468 1,下面,用一幅图展示一下https建立 ...

随机推荐

  1. Nginx集群之WCF大文件上传及下载(支持6G传输)

    目录 1       大概思路... 1 2       Nginx集群之WCF大文件上传及下载... 1 3       BasicHttpBinding相关配置解析... 2 4       编写 ...

  2. 让git不再跟踪配置文件的变化

    我们经常会在配置文件里留下一些敏感信息 比如数据库链接字符串的用户名和密码 如果不提交配置文件到github或者其他源码管理网站 那么你的粉丝很可能就无法正确运行你的项目,就达不到开源的目的了 那么, ...

  3. Standard PHP Library(SPL)中的数据结构

    SPL提供了一组标准数据结构. SplDoublyLinkedList Class:双向链表(DLL)是在两个方向上相互链接的节点列表.当底层结构是dll时,迭代器的操作.对两端的访问.节点的添加或删 ...

  4. window.atob()与window.btoa()方法实现编码与解码

    window.atob() 与window.btoa() WindowBase64.atob() 函数用来解码一个已经被base-64编码过的数据.你可以使用 window.btoa() 方法来编码一 ...

  5. Java学习笔记18(Object类)

    Object类是Java中最顶层的父类,所有类都是它的子类,接口不继承它 Object类中的方法: 官方资料:boolean equals(Object obj)  指示其他某个对象是否与此对象&qu ...

  6. win10安装Tensorflow

    win10安装Tensorflow 前提: 保证你的pip>=8.1版本 否则利用python -m pip install -U pip  进行升级,或下载pip源文件 确定你的显卡是否支持c ...

  7. 【倍增】洛谷P3379 倍增求LCA

    题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点个数.询问的个数和树根结点的序号. 接下来N-1行每 ...

  8. org.springframework.data.redis.serializer.SerializationException: Cannot serialize;

    前言 本文中提到的解决方案,源码地址在:perfect-ssm,希望可以帮你解决问题. 问题描述 在Spring与Redis整合过程中,出现了如下报错: org.springframework.dat ...

  9. vi 方向键和Backspace键失效问题的解决方法

    安装的ubuntu默认的编辑器是vi,遇到了两个问题: ① insert模式下,按方向键将产生A.B.C.D等字符,解决方案: :set nocompatible ② insert模式下Backspa ...

  10. Linux中git的使用

    之前在windows中一直采用github的桌面版,库的建立更新都是借助软件的帮助.所使用的的功能也非常局限,仅仅只是创建库再提交自己的代码.至于版本管理.回滚.分支以及git的结构都没有清楚的认识. ...