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. mysql自连接求累计金额

  2. [python]使用xlrd对Excel表格进行读写操作

    2.1 导入模块 import xlrd 2.2 打开Excel文件读取数据 data = xlrd.open_workbook("excelFile.xls") 2.3 使用技巧 ...

  3. Git-分布式版本控制系统(二)

    工作区(Woring directory ) 版本区(repository,即隐藏的.git文件) Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git ...

  4. C#中yield的使用

    yield 关键字向编译器指示它所在的方法是迭代器块.编译器生成一个类来实现迭代器块中表示的行为.在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值.这是一个返回值, ...

  5. Unity3d 动态加载场景物件与缓存池的使用

    聊聊Unity3d动态加载场景物件那些事儿. 众所周知,在策划或美术设计完游戏场景地图后,一个场景中可能会存在成千上万个小的物件,比如石头,木箱子,油桶,栅栏等等等等,这些物件并不是游戏中的道具,仅仅 ...

  6. js中的稀疏数组和密集数组

    原文地址: http://www.2ality.com/2012/06/dense-arrays.html 一般来说JavaScript中的数组都是稀疏的,也就是说数组中的元素与元素之间是由空格的,因 ...

  7. 简单单页面路由跳转demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. [转]Python的3种格式化字符串方法

    本文转自: 夏日微风Python笔记 传统C语言式 命名参数 位置参数 1. 传统C语言式 和c语言里面的 sprintf 类似,参数格式也一样 title = "world" y ...

  9. [转]python变量作用域的有趣差别

    func()里 可以访问全局变量i,但不能给i重新赋值. i = 1 def func(): print( i + 1) func() # 2 用global声明后,可以给i重新赋值. i = 1 d ...

  10. Linux内核打印时间戳

    较为简单可行的方式是通过PrintkTime功能为启动过程的所有内核信息增加时间戳,便于汇总分析.PrintkTime最早为CELF所提供的一个内核补丁,在后来的Kernel 2.6.11版本中正式纳 ...